本文最后更新于 2024年7月19日 上午
前言: 发一篇远古时期的笔记(水文章中……)这个洞比较简单,性价比高,也是容易被人忽略的,知识点也不多,但遇不遇得到也全凭运气哈哈,因为这些简单的东西人人都会,说不定前人连口汤也没给我们留呜呜呜呜呜呜呜。ok,废话不多说,我们进入正题……
概述
1
| 网站跳转时,后端直接接收并信任用户输入的跳转参数值,导致可以任意URL跳转
|
危害
1
| 该漏洞其实就是一个任意跳转而已,本身没有什么危害。但是如果跳转到一个攻击者构造的钓鱼页面,那么危害可能就大了,比如将有可能直接窃取到账号密码,等其他敏感信息。或者被植入木马病毒等等
|
功能点
1 2 3 4 5 6 7 8
| 登录 注册 分享 收藏 支付 授权 等其他业务完成后 …………
|
可疑参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| redirect url redirectUrl callback return_url toUrl ReturnUrl fromUrl redUrl request redirect_to redirect_url jump jump_to target to goto link linkto domain oauth_callback http https
|
利用
1
| 没啥好说的,其实就是看能不能任意修改跳转的参数值绕过
|
绕过
但实际情况不大可能这么简单,往往会有一些限制,那么就需要进行一些绕过了,如果绕过姿势都尝试完了还是不能任意跳转,那么可能就不存在这个漏洞了,本来就靠运气咯~
http://www.example.com?url=http://admin.example.com
1
| http://www.example.com?url=http://hacker.com?admin.example.com
|
1 2 3
| http://www.example.com?url=http://hacker.com\admin.example.com
http://www.example.com?url=http://hacker.com\\admin.example.com
|
1
| http://www.example.com?url=http://hacker.com#admin.example.com
|
1
| http://www.example.com?url=http://admin.example.com@hacker.com
|
http://www.example.com?url=/admin
1
| http://www.example.com?url=/admin@hacker.com
|
修复
- 直接在后端定死要跳转的URL
- 对需要跳转的目标URL进行充分过滤,严格验证
- URL跳转时,显示跳转的目标URL地址并询问是否确定跳转