XSS的原理和特性
XSS--前端代码注入
前端代码(开源的):
HTML: 网页的框架
CSS: 把网站变的更好看
Javascript(JS): 让网页功能更强大XSS注入的本质:
传参被拼接进HTML页面,并且被执行。
注入攻击的本质,是把用户输入的数据当做代码执行。
这里有两个关键条件:
第一个是用户能够控制输入
第二个是原本程序要执行的代码,拼接了用户输入的数据
SQL注入拼接的是操作数据库的SQL语句。XSS拼接的是网页的HTML代码,一般而言我们是可以拼接出合适的HTML代码去执行恶意的JS语句(总结:xss就是拼接恶意的HTML).
XSS的作用
- 盗取Cookie(用的最频繁的)
- 获取内网ip
- 获取浏览器保存的明文密码
- 截取网页屏幕
- 网页上的键盘记录等
XSS的类型:
- 反射型XSS (你提交的数据成功的实现了XSS,但是仅仅是对你这次访问产生了影响,是非持久型攻击)
- 存储型XSS (你提交的数据成功的实现了XSS,存入了数据库,别人访问这个页面的时候就会自动触发)
- DOM型XSS (利用DOM对象触发的XSS)
如何检测XSS
一般是想办法让浏览器弹窗(alert) 最经典的弹窗语句:<script>alert('1')</script>
xss真的执行恶意代码的实际上是JS语句,那么我们一般需要构建<script></script> (这个是定义Js的标签)
一般证明XSS是否存在,就是在正常页面传参然后构建参数让他弹窗就是存在XSS了
xss还可以通过什么来执行
事件 :
例如: οnerrοr=alert(1) 在加载文档或图像时发生错误。
该句的意思就是在加载文档或图像时发生错误然后会执行alert(1)
类似的事件有很多
常用的有 one rror(加载错误时触发)、onload(成功加载执行)oninput (有输入框,输入的时候触发)
伪协议:
例如:
javascript:alert(1) (经典代码<a href=javascript:alert(1)>test</a>)
Javascript实际上是一个伪协议
伪协议不同于因特网上所真实存在的协议,如http://,https://,ftp://,
伪协议只有关联应用能够用,比如 php:// tencent://(关联QQ)
javascript:伪协议实际上声明了URL的主体是任意的javascript代码
javascript:alert(1)
xss的过滤方法
进行转义实体编码输出,加标签,正则匹配替换
反射型XSS具体使用方法
比如百度存在反射型XSS,然后你构建可以窃取Cookie的JS语句,然后传参点在URL那里,然后我们通过短链接将他变为短链接,然后发给想要获取别人信息的人。然后人家如果登陆状态访问了就会触发XSS
短链接是什么?
短链接,通俗来说,就是将长的URL网址,转换为简短的网址字符串,和DNS协议有点像,提供服务的网站会在数据库里面存储短链接对应的原本URL是什么,当你访问短链接,然后那边设置了302重定向跳转到原本的长URL
XSS一般在什么业务场景容易遇见?
重灾区:评论区、留言区、个人信息、订单信息等
针对型:站内信、网页即时通讯、私信、意见反馈
存在风险:搜索框、当前目录、图片属性等
XSS靶场实操
1.来到XSS靶场
2.测试是否存在XSS注入
1)在搜索框里输入代码:<script>alert('1')</script> 没有触发弹窗
2)查看源代码发现<>括号被过滤了,单引号没被过滤
注:不建议用右键检查元素,直接查看源代码即可,因为前端代码:兼容性(会对一些东西进行包容和处理)
如:
用检查元素和查看源代码进行对比
检查元素明显省略了一些东西。
3)用事件绕过<> 得到flag
payload1: ' οninput=alert(1314) //
payload2: ' οnkeydοwn=alert(1314) //
payload4: ' οnfοcus=alert(1314) autofocus //
3.得出结论:存在反射型XSS
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取
读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)
同时每个成长路线对应的板块都有配套的视频提供:
大厂面试题
视频配套资料&国内外网安书籍、文档
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~
读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)
特别声明:
此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。
标签:网络安全,XSS,URL,代码,特性,alert,原理,链接 From: https://blog.csdn.net/2401_84488537/article/details/139295576