pikachu—Cross-Site Scripting(XSS)

实验步骤

一、反射型XSS(get)

多次输入,发现输入什么内容,提示都会出现输入内容

输入 <script>alert(1) ,提示whois,说名语句被执行了,没有显示,但是长度受限制,那我们就改一下长度

按F12打开控制台,选择HTML-编辑,右侧搜索length,搜到把长度值改为100

输入 <script>alert(1) </script> ,成功执行JS代码

二、反射型XSS(post)

正常输入,和输入JS代码都不行

于是pikachu:000000常规登录

发现还有一个输入框,输入<script>alert(1) </script>,成功弹窗

三、存储型XSS

直接输入<script>alert(1) </script>,成功弹窗,以后每次访问本页面,都会弹窗

四、DOM型xss

直接输入<script>alert(1) </script>,发现没有弹窗

审查源码

从上面可以看出来,通过value方式将text的值赋值为str,也就是框里面的
值,然后通过innerHTML将标签内的值取出来,比如<labelid="lb1">thisis
alabel</label>,取出来的值就是thisisalabel。所以结合前面的'做一个闭
合,像<script>这种有前后标签闭合的就不太方便用了,用提示里面的
onclick来构造,'οnclick=alert(1)>就可以了

输入 'οnclick=alert(1)> ,出现链接

点击链接,即可成功弹窗

四、DOM型xss-x

输入 'οnclick=alert(1)> ,出现链接

点下面的链接,又出现一个新连接

再点击新链接,成功弹窗

五、xss之盲打

这个并不是一种攻击类型吧,只是一种场景,因为输入的值在前端都显示不出来,所以我们也不知道哪里会有XSS,所以见框就插,这称之为盲打。
所以接下来,我在框里都输入了恶意代码<script>alert(1) </script>

点最右侧提示,找到后台路径admin_login.php

使用hackbar,点load URL,加载链接后把蓝色框的内容删掉,然后把后台路径复制到后面拼接成新的url http://172.16.12.10:83/vul/xss/xssblind//admin_login.php

点execute, 访问后台url

点Login,成功弹窗

五、xss之过滤

从标题就知道了会有过滤,这里先输入<script>alert(1) </script>探测"'<>/,结果发现符号似乎都没有被过滤掉

方法很多,双写、大小写等,这里试一下大小写

输入 <sCRipt>alert(1) </scriPT> ,成功弹窗

源码查看

$html = '';if(isset($_GET['submit']) &&
$_GET['message'] != null){
//这里会使用正则对<script 进行替换为空,也就是过滤掉
$message=preg_replace('/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/',
'', $_GET['message']);
if($message == 'yes'){
$html.="<p>那就去人民广场一个人坐一会儿吧!</p>";
}else{
$html.="<p>别说这些'{$message}'的话,不要怕,就是
干!</p>";
}}

这里只是把 <script 进行了过滤,双写就绕不过了,但是没有区分大小写。

六、xss之htmlspecialchars

输入了常用的符号进行查看是否被过滤,,发现输入内容都会被转变为HTML实体

这里要注意,默认情况的编码是不会将 ' 进行编码的,尝试着利用这一点去试试构造οnclick=alert(1) ,失败

发现和想象中有点不一样,研究了好一会,这里应该是后端php在处理时会将 ' 当作一个分割符来看待,所以在前面加上一个'οnclick=alert(1)再来看。

发现前面的已经闭合上了,后面还多出了一个',那干脆在alert前面再加一个'形成 'οnclick='alert(1),出现链接,点击链接成功弹窗

七、 xss之href输出

这个试了老半天没有成功绕过,感觉应该是都被转义了,于是找了个没有这些符号的XSS攻击代码 javascript:alert(1) 成功弹窗。

八、xss之js输出

那这里使用的时候应该是先把之前的<script>给闭合,然后就可以执行咋们自己的JS了。 </script><script>alert(1)</script>, 直接成功弹框。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cwillchris

你的鼓励将让我产出更多优质干货

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值