存储型xss原理:
攻击者在页面插入xss代码,服务端将数据存入数据库,当用户访问存在xss漏洞的页面时,服务端从数据库取出数据展示到页面上,导致xss代码执行,达到攻击效果
案例:
在一个搭建的论坛网站中,
根据存储型xss注入的条件,要找到可以存储到数据库的输入位置,并且这个位置还可以被其他用户查看,
例如在此网站中,我们可以尝试在发帖、评论区、标题、标签,以及个人主页的名称、签名、地址…等位置
- 帖子中:
发现只有点击xss才会显示弹窗,说明这不是一个存储型xss,因为他只能影响到自己
发表后发现,xss代码显示不出来
查看源码发现,error被过滤,xss注入失败
- 在个人主页尝试注入
名称有字符数限制,个签和城市都被过滤
- 在评论区注入
被过滤
- 标签注入:
出现弹窗
发布后,每次打开这个帖子都会出现弹窗,说明xss注入成功
我们就可以利用这个注入点拿cookie等操作
点击帖子出现cookie
得到cookie我们就可以通过输入cookie,回车直接登陆该账号