[关闭]
@1kbfree 2020-07-06T14:08:03.000000Z 字数 743 阅读 1556

漏洞实战【一处ssrf绕过内网ip限制】

案例


漏洞请求包

  1. POST /effect/cpsUser/saveReceiveUrl HTTP/1.1
  2. xxxx
  3. receiveUrl=http://xxxxxxxxxxxxx:10062/

漏洞参数

receiveUrl=http://www.baidu.com,然后程序就会去请求http://www.baidu.com/

复现过程

1、打开URL

  1. https://aa.fuck.com/tools/my/modify_union

1.png-49.7kB

2、然后这里尝试将receiveUrl直接修改为ip地址

1.png-173.2kB

然后服务器会收到如下请求,这里程序来访问了mgj_token非常重要,是本洞绕过的重点

1.png-66.1kB

3、然后尝试是否可以去访问127.0.0.1等这种内网ip地址

1.png-104.3kB

这样是不行的。

绕过内网ip限制

经过测试发现,只要最终跳转或请求的地址是内网ip都会显示为非法ip然后不给请求,但是这里可以根据程序本身的功能来绕过。

从上面服务器请求过来的内容来看,程序会自己去请求mgj_token目录,那么是否可以在mgj_token目录下放一个index.php,然后程序访问我输入的receiveUrl -> 程序没有检测到我的receiveUrl为非法ip -> 然后程序会自己去请求mgj_token -> 而我mgj_token下的index.php内容为跳转到127.0.0.1,思路有了,尝试一下!

index.php代码:

  1. <?php
  2. header('Location:http://127.0.0.1/');

1.png-43.7kB

1.png-78.6kB

然后是可以请求的。

既然内网ip可以请求啦,就要尝试一下可以访问的返回包和不可访问的返回包

0x1、ip可打开的情况下

1.png-145.6kB

0x2、ip不可打开情况下

1.png-140.6kB

然后分别测试一下127.0.0.110.0.0.1

1.png-150.5kB

1.png-168.4kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注