cdxy.me
Footprints on Cyber Security and Python

where is my cat

进站未fuzz到敏感信息,Cookie中有个输入点HOST=0

后来发现IP地址用了https,查看证书。

http://static.cdxy.me/Screenshot%20from%202017-04-20%2014-59-53.png

讲该域名写入HOST获得flag。

http://static.cdxy.me/Screenshot%20from%202017-04-20%2015-00-29.png

mail

获取源码

  • http://106.75.106.156/web.tar.gz

审计之后发现并没有SQL注入,唯一的可控点在putenv("TZ=$timezone");这里。

变量$timezonegetConfig()从数据库中获取,我们可以利用saveConfig()将payload输入到数据库中。

saveConfig()不做判断直接更新数据库:

function saveConfig($config){
   global $conn;
   foreach ($config as $key => $value) {
      $key = addslashes_deep($key);//cdxy-vuln
      $strsql="select db_value from config where db_name='$key' limit 1"; 
      $result=mysql_query($strsql,$conn);
      $row = mysql_fetch_array($result);
      if(empty($row))
      {
         $strsql="insert into config(db_name,db_value) values('$key','$value')"; 
         $result=mysql_query($strsql,$conn);
      }else{
         $strsql="update config set db_value='$value' where db_name='$key'"; 
         $result=mysql_query($strsql,$conn);
      }
   }
}

最终用Shellshock Exploit获取flag,构造时注意中间经过了addslashes,然后随意发送一个邮件即可触发。

(参考 https://www.exploit-db.com/exploits/35146/)

http://static.cdxy.me/Screenshot%20from%202017-04-20%2023-21-22.png