WEB通用漏洞-其它
WEB通用漏洞-其它
CRLF注入(在数据包中注入)
原理
CRLF注入漏洞,是因为Web应用没有对用户输入做严格验证,导致攻击者可以输入一些恶意字符,攻击者一旦向请求行或首部中的字段注入恶意的CRLF,就能注入一些首部字段或报文主体,并在响应中输出,所以又称为HTTP响应拆分漏洞。
换句话来说,攻击者可以在数据包中添加回车换行符,从而导致数据包的字段被更改或覆盖的情况。
通过回车换行(%0a%0d)在第一行中注入,导致响应数据包的响应头中添加Cookie的情况。
该漏洞易于测试,易于发现。一般与XSS和SSRF来配合使用。但是这个漏洞造成危害不大,因此了解即可。
通过两个回车换行在第一行中注入,导致响应数据包的响应体中添加img标签,进而造成反射型XSS攻击的情况。
一篇文章:https://blog.csdn.net/weixin_39157582/article/details/108133275
自动化测试工具
CRLFuzz:https://github.com/dwisiswant0/crlfuzz
URL重定向(与钓鱼配合)
原理
大概意思是讲重定向漏洞的危害:网站接受用户输入的链接,跳转到一个攻击者控制的网站,可能导致跳转过去的用户被精心设置的钓鱼页面骗走自己的个人信息和登录口令。国外大厂的一个任意URL跳转都500、1000了,国内看运气。
案例
我们可以通过浏览器的网页另存为的功能,将页面放置在自己的服务器上,从而制作钓鱼网站。
攻击点
Web拒绝服务
原理
现在有许多资源是由服务器生成然后返回给客户端的,而此类"资源生成"接口如若有参数可以被客户端控制(可控),并没有做任何资源生成大小限制,这样就会造成拒绝服务风险,导致服务器处理不过来或占用资源去处理。
这个漏洞造成的根本原因:服务器按照你的要求来处理这个数据,用户提交的要求不当导致的。
案例
<?php
$width = $_GET['w'];
$height = $_GET['h'];
echo "<img src='1.jpg' width=$width height=$height>";
?>
这个程序片段的作用:接受用户的长和宽,按照该参数生成图片。那么试想,如果长和宽都是10亿呢?
危害
这个漏洞会导致网站CPU、内存占用爆满,从而导致目标服务器宕机的情况。
攻击点
- 验证码或图片显示自定义大小
- 上传压缩包解压循环资源占用
- 假设,有一个网站的功能是上传一个压缩包并支持在线解压。
- 那么,我们可以上传一个无限解压的压缩包,那么如果服务器并没有对此做任何过滤的话,那么就会导致该服务器一直在解压这个压缩包,从而导致拒绝服务。
同源策略(主要看数据包的来源)(限制子域名)
同源策略(SOP),同源包括三个条件:同协议、同域名、同端口
对于一个网站:http://www.xiaodi8.com
https://www.xiaodi8.com 不属于同源(不同协议)
http://www.xiaodi9.com 不属于同源(不同域名)
http://www.xiaodi8.com:81 不属于同源(不同端口)
http://www.xiaodi8.com/xiaodi 属于(不同目录)
同源策略限制从一个源加载的文档或脚本与来自另一个源的资源进行交互,这是一个用于隔离潜在恶意文件的关键的安全机制,简单来说就是浏览器的一种安全策略。
虽然同源策略在安全方面起到了一个很好的防护作用(防CSRF等),但也在一定程度上限制了一些前端功能的实现,所以就有了许多跨域的手段(CORS、JSONP)。
CORS-同源策略防护下配置不当导致
JSONP-同源策略防护下引用资源回调导致
CORS
原理
一篇文章:https://blog.csdn.net/qq_35569814/article/details/101068142
CORS和CSRF
CORS:建立在同源策略之上,只做数据的共享/资源的获取(网页源码,网页上的敏感信息等,但是不可以操作数据包)
用户A在登录自己的后台或什么页面,这个时候访问了第三方的页面,第三方页面去请求这个后台或页面的内容,用户A访问了页面,即该页面内容泄漏了。
原因就在于:并没有合理的限制哪些域可以访问某资源(Access-Control-Allow-Origin),从而攻击者也可以访问该资源,导致资源泄露。
CSRF:如果存在同源策略,CSRF失效。通过操作数据包来实施攻击。
用户A在登录自己的后台或什么页面,这个时候访问了第三方的页面,第三方页面去发送添加用户的数据包,用户A登录了自己的后台,拥有该权限,此时就在不知情的情况下,添加了用户。
注:如果同源策略存在,那么CSRF失效。此时可以考虑使用CORS来获取数据/资源
检测
检测项目:https://github.com/chenjj/CORScanner
人工:
- 找参数的设置
- 通过抓包来查看诸如Access-Control-Allow-Origin参数
JSONP
原理
JSONP跨域巧妙的利用了script标签能跨域的特点,实现了json的跨域传输。
一篇文章:https://baike.baidu.com/item/jsonp/493658?fr=ge_ala
案例
假设一个网站存在支付接口,需要调用支付宝官方接口来判断是否支付成功。
那么,自己的网站域名是支付宝官方的域名吗?显然不是,属于不同源,不符合同源策略。但是,我还需要在同源策略的基础上,进行不同源之间接口的调用,来满足自身的业务需求。此时JSONP就派上了用场。
JSONP的应用不只存在于支付接口,还有登录接口等一系列。需要具体问题具体分析。
用户A浏览器访问过huya youku taobao jd等这些页面。
对于官方来讲:来源是攻击者的网站 不合法 同源策略防护阻止
回调(第三方):官方认同的,合法的,从哪里触发都可以了。
那么,攻击者就可以尝试去测试官方的回调页面(这些页面绕过了同源策略的安全问题)(不直接去请求带有敏感信息的页面)
之后在自己搭建的网站上面触发代码,只要用户A访问了网页,相当于就触发了回调,解决同源策略防护问题。从而得到了回调页面涉及到的用户A的数据。
检测
burp插件:https://github.com/p1g3/JSONP-Hunter
人工:
通过浏览器抓包,看数据包里面哪些存在回调(搜索关键字callback,不受同源策略的限制),如果存在,就获取回调里面的敏感信息。
子域名接管
原理(用于社工钓鱼)
假如某网站在DNS解析上采用了这样的设置:
test.baidu.com cname test.xxxxx.com(cname代表将一个域名指向另一个域名)
代表如果用户访问了test.baidu.com。那么就会转向test.xxxxx.com。
如果这个时候test.xxxxx.com 过期或失效等,那么我们是不是可以注册这个域名,实现对test.baidu.com的控制?
这就是子域名接管。
工具
dnsub:https://github.com/yunxu1/dnsub
致谢
https://www.bilibili.com/video/BV1pQ4y1s7kH/?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click
免责声明
本博客中的内容仅供学习之用,不用于商业用途,也不可以用于任何非法用途,否则后果自负,本人不承担任何责任!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!