WEB常见漏洞之XSS(靶场篇)2

简介: WEB常见漏洞之XSS(靶场篇)

Lesson-7

发现他把script直接就给过滤掉了,这时我们还有一个法宝就是双写绕过

我们接下来测试一下看看

写入成功,成功触发js代码

Lesson-8

我们先来打开f12简单分析一下

我们可以看到在输入框里输入的东西会被当成链接添加到下面那个友情链接的超链接上面,那么我们可不可以使用伪协议直接把js代码嵌入这个超链接上呢?我们现在就来试试吧

我们可以看到嵌入成功了,这说明思路是正确的,但是javascript被转义过滤掉了,这个时候我们要想办法绕过他

这个时候要比上面几关难一点,我这个时候想到了编码绕过的方式,你不让我用明文形式,我编码一下你就不认识我了,从而达到了绕过过滤的方法

我这里使用的是HTML编码的方式进行绕过的

打入成功,拿下第八关

Lesson-9

使用上一关的payload进行第一次测试

好的,插入成功

我们点击超链接试一下吧

那既然这个编码不行我们在换一种编码试一下

这样不行我们就自己写一个携带js代码的html,然后嵌入到值的地方

有窗口弹出,并没有得到自己所要的答案。这个窗口属于自己所编写网页的窗口,并不是题目所属网页窗口。

这时经过分析得知,会不会是必须要有http://才会不提示链接不合法呢?

我带着这个思路测试了一下,发现我的思路是对的

下面讲一下通关思路

发现这次不提示链接不合法了,但是伪协议也不会被执行了,这个时候我想到了既然必须要有http://又要让伪协议代码执行,那就只能先写上http://然后再给他注释掉这种方法来绕过过滤喽



好的,过关成功

Lesson-10

这次什么东西都不给了,我们先打开f12进行分析一波吧

我们发现input都变成了隐藏域,由于传参方式是GET方式,可以直接在url栏里面进行参数传递,那么这样的话我们可以把隐藏域中任何一个input的属性和值经过篡改直接发出去,从而达到xss攻击的目的

可是我们点击输入框并没有触发我们的js代码

我们继续f12进行分析

发现多出来了一个双引号,那么我们再加一个双引号,直接闭合掉那个单引号就可以了

完美闭合

点击输入框后触发js事件,所以我们打入xss成功,完美拿下第十关

Lesson-11

很显然没有打入点了,我们在url里面打入也失败了,这时我们可以利用抓包来进行打入

先来抓包分析一下

我们可以看到他是没有referer的,我们可以通过伪造referer的方法进行打入一些东西

我在这里示范的是打入一个带onclick弹窗的文本框的方式

放包查看页面变化

成功打入一个文本框

f12查看后发现这就是我们利用referer打入的带弹窗的文本框

我们点击后就直接触发js代码

Lesson-12

我们先来试一下11关的payload看看行不行

很显然行不通的

那么我们就要想一下了referer既然不行,我们是不是还有个UA的http头注入没用过呢,对吧

我们在这里可以先试一试,万一成功了呢

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36" onclick=alert(1) type="text"

这是payload

我们可以看到文本框打入成功


我们点一下文本框即可触发js代码

完美打入

Lesson-13

由上面两道数据包的js代码注入题可知这道题应该还是数据包类型注入,我们想一下是不是还有cookie对吧

我们在这里就不一一测试了,直接看cookie那段,很明显有数据传输,我们想是不是可以利用cookie打入带js代码的文本框呢?

我们现在就来试试吧

发送数据包查看页面变化


页面出来了一个文本框,那么我们的payload里面嵌入了点击输入框触发js注入代码的代码,我们现在可以直接点击文本框从而让它触发我们所写好的条件

js代码打入成功

Lesson-14

这一关的图片一直加载不出来,所以也没有办法进行测试了。于是在网上找了一些参考,自己记录一下:

查看源码发现exif,猜测应该是exif xss,但是这个链接由于网络的原因无法访问,exif xss,一般利用于文件上传的地方,最经典的就是头像上传,上传一个图片,该图片的exif元数据被修改为xss payload,成功利用弹窗,具体实现使用kali下的exiftool工具,命令如下:



exiftool -FIELD=XSS FILEexiftool -Artist=' "><img src=1 onerror=alert(document.domain)>' brute.jpeg

Lesson-15

查看代码,这一关是关于angular js的知识,ng-include有包含文件的意思,也就是相当于php里面的include,此处可以包含第一关的页面。

构造payload

url处写入语句,


src='level1.php?name=<img src=x onerror=alert(1)>'

如下图所示,这个没有利用成功,搜索到的另一个作者说是,因为这里需要访问angular.main.js

js文件,才能进行包含,虚拟机的环境中无法访问,看样子是需要fanqiang的,

Lesson-16

查看代码发现大小写绕过失效,script/,等都被转换成&nbsp,这时,可以尝试使用%0a,%0d来进行绕过。

构造语句:




Keyword=<img%0dsrc=a%0donerror=alert(16)>Keyword=<iframe%0dsrc=0%0donmouseover=alert`16`></iframe>Keyword=<svg%0aonload=alert`16`></svg>

完美打入js代码

Lesson-17

打开源码发现了两个注入点构造payload

我们发现两个输出的值都被做了实体化转义,无法闭合标签,而 embed标签可以加入事件,可以在arg01,或者arg02中加入事件去触发

测试语句:


arg01=a&arg02=%20onmouseover=alert`1`

Lesson-19

Flash xss

页面源码,未插入语句时:

页面源码,插入语句后:

Payload:

网址或者ip地址


/xss/level19.php?arg01=version&arg02=<ahref="javascript:alert(document.domain)">xss_by_didi</a>

点击“xss_by_didi就可以触发XSS。

解题思路:

flash xss,需要对flash的反编译对源码进行分析,这里使用jpexs-decompiler来分析,首先定位getURL函数

得知version参数可以传入loc4变量中,即sIFR的内容中,但是getURL只在内容为link时打开,所以分析contentIsLink函数

 所以我们可以构造<a > </a> 标签来传值

Lesson-19

我们已经在不知不觉中来到了最后一关了


payload:level20.php?arg01=a&arg02=\"))}catch(e){}if(!self.a)self.a=!alert(document.cookie)//%26width%26height

成功弹窗













xss常用标签<script><img><input><details><svg><select><iframe><video><audio><body>这里只列举了一部分常用的
目录
相关文章
|
24天前
|
SQL 安全 数据库
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
【7月更文挑战第26天】在 Python Web 开发中, 安全性至关重要。本文聚焦 SQL 注入、XSS 和 CSRF 这三大安全威胁,提供实战防御策略。SQL 注入可通过参数化查询和 ORM 框架来防范;XSS 则需 HTML 转义用户输入与实施 CSP;CSRF 防御依赖 CSRF 令牌和双重提交 Cookie。掌握这些技巧,能有效加固 Web 应用的安全防线。安全是持续的过程,需贯穿开发始终。
48 1
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
|
10天前
|
安全 前端开发 开发工具
某个国外的真实XSS漏洞利用探寻
在一次测试中,在git中找到部分的源码,发现可能存在xss问题,但是经过了一点处理,于是经过探寻思考,找到了bypass的方法,写下本篇文章。
|
18天前
|
存储 JavaScript 安全
Web安全之XSS跨站脚本攻击
XSS(跨站脚本攻击)
49 7
|
25天前
|
SQL 安全 数据库
从入门到精通:Python Web安全守护指南,SQL注入、XSS、CSRF全防御!
【7月更文挑战第25天】在Python Web开发中确保应用安全至关重要。以下是针对SQL注入、XSS与CSRF攻击的防护策略及示例代码
43 6
|
25天前
|
SQL 安全 数据库
|
25天前
|
SQL 存储 安全
Python Web安全大挑战:面对SQL注入、XSS、CSRF,你准备好了吗?
【7月更文挑战第25天】在Python Web应用开发中,安全至关重要,需防范如SQL注入、XSS与CSRF等攻击。**SQL注入**风险可通过避免直接拼接用户输入至SQL语句,改用参数化查询来缓解。**XSS**则需对用户输入的内容进行HTML转义处理,防止恶意脚本执行。对于**CSRF**,实现包括生成并验证CSRF令牌在内的防护机制是关键。综合运用这些防御策略能显著增强应用的安全性,但需持续学习以对抗不断变化的威胁。
43 5
|
23天前
|
SQL 安全 数据库
深度揭秘:Python Web安全攻防战,SQL注入、XSS、CSRF一网打尽!
【7月更文挑战第27天】在 Web 开发中,Python 面临着如 SQL 注入、XSS 和 CSRF 等安全威胁。
46 0
|
24天前
|
SQL 安全 Go
SQL注入不可怕,XSS也不难防!Python Web安全进阶教程,让你安心做开发!
【7月更文挑战第26天】在 Web 开发中, SQL 注入与 XSS 攻击常令人担忧, 但掌握正确防御策略可化解风险. 对抗 SQL 注入的核心是避免直接拼接用户输入至 SQL 语句. 使用 Python 的参数化查询 (如 sqlite3 库) 和 ORM 框架 (如 Django, SQLAlchemy) 可有效防范. 防范 XSS 攻击需严格过滤及转义用户输入. 利用 Django 模板引擎自动转义功能, 或手动转义及设置内容安全策略 (CSP) 来增强防护. 掌握这些技巧, 让你在 Python Web 开发中更加安心. 安全是个持续学习的过程, 不断提升才能有效保护应用.
35 1

热门文章

最新文章