条条大路通罗马系列1 web writeup

三个白帽

0x00 代码审计

访问/sgbmwww.zip下载源码,里面只有sgbmwww里的内容. 功能是简单的反馈,表单经过自写的jsonencode()处理然后insert入库.

include.php 定义了变量$_M[‘form’] 第100行

$_M['form'] =array();
isset($_REQUEST['GLOBALS']) && exit('Access Error');
foreach($_COOKIE as $_key => $_value) {
        $_key{0} != '_' && $_M['form'][$_key] = daddslashes($_value);
}
foreach($_POST as $_key => $_value) {
     	$_key{0} != '_' && $_M['form'][$_key] = daddslashes($_value);
}  
foreach($_GET as $_key => $_value) {
        $_key{0} != '_' && $_M['form'][$_key] = daddslashes($_value);
}

cookie 和post,get 都是可控的.

$_M['form']['class']可控可惜后缀写死了php

$_M['form']都可控. payload:

/index.php?class=upfile&is_rename=0&formname[tmp_name]=/etc/apache2/apache2.conf&formname[name]=xx.2333

发送以后访问 /upload/xx.2333 得到

发现并木有开放8080端口. 利用这个读取把/var/www/html/sgbmadmin/index.php读了。

利用发现的注入插入构造的代码

2.png

base64个system(‘id’) 出来是这样的

3.png

ps:多谢大神的指点.

Table of Contents