既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
不会存在数据库里面,一般出现在查询页面
反射型XSS,又称非持久型XSS,攻击相对于受害者而言是一次性的
具体表现在受害者点击了含有的恶意JavaScript脚本的url,恶意代码并没有保存在目标网站,而Web应用程序只是不加处理的把该恶意脚本“反射”回受害者的浏览器而使受害者的浏览器执行相应的脚本
2. 存储型XSS
存在数据库里面,一般出现在注册页、留言板等
存储型XSS是指应用程序通过Web请求获取不可信赖的数据,在未检验数据是否存在XSS代码的情况下,便将其存入数据库
当下一次从数据库中获取该数据时程序也未对其进行过滤,页面再次执行XSS代码持续攻击用户。
存储型XSS漏洞大多出现在留言板、评论区,用户提交了包含XSS代码的留言到数据库,当目标用户查询留言时,那些留言的内容会从服务器解析之后加载出来
3. DOM型XSS
不与后台服务器交互数据 也属于反射型的一种 一种通过dom操作前端输出的时候产生问题
DOM,全称Document Object Model,是一个平台和语言都中立的接口
可以使程序和脚本能够动态访问和更新文档的内容、结构以及样式
DOM-XSS简单理解就是不与后台服务器产生数据交互,是一种通过DOM操作前端代码输出的时候产生的问题。
4. XSS三种类型的区别
1. 被攻击对象的不同
反射型XSS的被攻击对象一般是攻击者去寻找的
存储型XSS是广撒网的方式或者指定的方式,危害性更大,范围更广
DOM型XSS的被攻击对象其实和反射型XSS被攻击对象差不多,就是给攻击对象放送URL。
2. 解析位置不同
个人感觉是反射型与存储型区别的本质
反射型XSS的脚本被解析的地方是浏览器
存储型XSS的脚本被解析的地方是服务器
DOM型XSS也是浏览器,但是反射型XSS需要联网,而DOM型不需要
3. 存储时间不同
反射型XSS是一次性
存储型XSS是存储在服务器上,只要服务器不挂机或者是被干掉,就一直会有
4. 允许输入点的不同
这是DOM型与其他两种的区别
反射型XSS在搜索框啊,或者是页面跳转啊这些地方
存储型XSS一般是留言,或者用户存储的地方
DOM是在DOM位置上,不取决于输入环境上
三、XXS防御:
1. 输入过滤
不允许可能导致xss攻击的字符输入
2. 输出转义
根据输出点的位置对输出到前端的内容进行适当转义
Xss是一种发生在前端的漏洞 所以危害的对象也主要是前端用户
Xss可以用来进行钓鱼攻击 前端js挖矿 用户cookie获取 甚至可以结合浏览器滋生的漏洞对用户主机进行远程控制等
四、xxs漏洞的利用
1. 测试流程
找到输入点(查询接口、留言板等)
输入一组 特殊字符+唯一标识符 查看返回的源码 是否做出了相应的处理
通过搜索定位到唯一字符 (构造闭合)
构造脚本代码 (绕过) 查看是否执行成功 如果成功 存在xss漏洞
2. 利用方式:
- Get方式是比较容易地,参数放在url里面
:直接把url发送给目标就可以了
- Post方式提交参数是以表单的方式放在请求体里面
:没法直接通过url发送给目标
五、xxs的攻击流程
1. 存储型:
①黑客在目标服务器上构造XSS恶意脚本,保存在数据库中
②用户在网站登录状态下,访间了目标服务器,查看了存在恶意脚本的页面
③网站将XSS同正常页面返回到用户浏览器
④用户浏览器解析了网页中的XSS恶意代码,向恶意服务器发起请求
⑤黑客从自己搭建的恶意服务器中获取用户提交的信息
2. 反射型:
①发送带有XSS恶意脚本的链接
②用户点击了恶意链接,访问了目标服务器
③网站将XSS同正常页面返回到用户浏览器
④用户浏览器解析了网页中的XSS恶意代码,向恶意服务器发起请求
⑤黑客从自己搭建的恶意服务器中获取用户提交的信息
五、XSS实现钓鱼攻击的攻击流程:
可用basic认证实现钓鱼场景
在实际的攻击场景当中,xss钓鱼的场景非常多
可以内嵌一些钓鱼页面,或者钓鱼链接,basic认证等实现钓鱼
在存在xss漏洞的页面,内嵌一个请求(javascript或者其他)
当用户打开了嵌入恶意代码的页面之后,页面会向远端的后台(pkxss)去发送一个请求
这个请求会返回一个要求他进行bacis认证的头部 在用户界面上就会弹出一个要进行身份认证的提示框,一旦他输入了账号密码,这个账号密码就会发送到我们的后台
六、跨站脚本漏洞盗取cookie攻击流程:
利用xss盗取cookie也比较常见
获取cookie的攻击流程可以看xss攻击流程图
用户 用浏览器 访问存在xss漏洞的站点
站点 返回给浏览器的 数据带有 恶意js代码
用户 浏览器执行 js代码 要求 发送cookie给 攻击者
攻击者伪造用户登录站点,造成破环
后台就需要有一个接收数据的接口
七、Xss绕过方式:绕过方式总结
1. 前端过滤,burp抓包改包绕过
**2. 双写绕过
- 事件绕过**
4. 大小写绕过
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
**
**2. 双写绕过
- 事件绕过**
4. 大小写绕过
[外链图片转存中…(img-NurQrVMp-1715845414223)]
[外链图片转存中…(img-0o5AT9Kw-1715845414224)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新