pikachu xss'

反射性xss(get)

输入“ '"<>123456 ” 用于测试我们的输入会不会被过滤掉,因为有特殊字符 查看页面源码 输入被输出到了 p 标签中

 测试输入的JS代码payload如下

前端对输入长度做了限制,修改一下成为2333333    才能输入完整的payload

成功执行 查看源码,输入的payload嵌入了到了 p 标签里面

反射性xss(post)

用户名密码 admin 123456  进入界面

 不能输入标签中

POST的方式提交的,参数内容不会出现在URL中,通过burpsuite

 账号admin/123456
登上去以后发现还是没有任何过滤,直接构造payload:

 

 

 

 经查询发现是用sha1 解密 得出密码为123456

存储型XSS

存储型XSS和反射型XSS形成的原因是一样的,不同的是存储型XSS下攻击者的可以将脚本注入到后台存储起来,构成更加持久的危害

进行特殊字符的测试

发现没有过滤 下面通过源码观察,也直接输出在 p 标签中,看起来没有经过任何转义和处理 下面输入下面的Payload进行测试测试输入的JS代码payload如下

成功弹窗

DOM型XSS

 随意输入字符123

 输入的语句全部嵌在a标签内了

 创造一个闭合,将a标签闭合掉,并且写入一个语句。

构造payload

  成功弹窗

DOM型XSS-X

 

 输入是从浏览器的URL中获取的,和反射型XSS(get)类似

构造payload

构造payload

 成功弹窗

XSS盲打

提交后内容不再前端输出 而是输入到了后台。

提交以下内容

 登录后台管理界面  http:///pikachu/vul/xss/xssblind/admin_login.php  

 一进来就发现弹窗

 xss 过滤

开发者会做出很多防御措施,但是还是有很多绕过的方式。比如大小写,双写(拼凑)注释干扰,

大小写混合的方式看看能否绕过

 

 成功弹窗,后端只对小写的script进行过滤

 将alert('xss')进行HTML编码 成功弹窗

 XSS htmlspecialchars

发现单引号没有经过编码

输入特殊字符进行测试

添加一个单引号用于闭合 href 中的单引号

 

XSS href输出

 输入一个进行测试 提交后查看源码,输入在 a 标签的 href属性中

 

 

点击出现弹窗

XSSjs输出

随便输入进行测试

测试输入查看页面源码 插入js 测试代码

构造一个闭合,先用一个单引号和</script>闭合掉页面中的<script> 构建payload

js代码执行 成功弹出弹窗

猜你喜欢

转载自www.cnblogs.com/p201721210007/p/12034842.html