下载地址
源码下载链接 : http://www.mycodes.net/42/10184.htm
0x1前台注入
这里测试的是搜索功能,在index.php的第134-141,关键在第136行处$s带入数据库执行
$s是在8行处通过get获取的,只进行了htmlspecialchars也就是把<>转换为 HTML 实体,并没有进行过滤或者转义
136行调用的是total方法在appclassapp.php文件内定义,我们这里使用var_dump输出他执行的语句
var_dump('SELECT count(id) as c FROM '.$tab_name.' '.$tj);
然后来到搜索页面查看是否输出语句,这里可以看到成功输出
这里测试'or 1=1,可以看到把条数查询出来了,也确定了这里存在sql注入
这里没办法使用联合注入因为在total方法内返回的是第一条执行的记录值,我们可以total方法内输出查询结果
然后构造联合注入来查询版本
') union select sqlite_version()--
可以看到查询出了两个数组但是方法只会返回第一个数组的值$result0所以这里没办法成功,因为我也不熟悉sqlite不知道还有没有方法可以利用
这里使用延时注入,使用sqlmap来跑
sqlmap -u "http://192.168.10.66/index.php?s=1111" -p s -v 3 --dbms SQLite --level 3 --risk 3 --technique T
0x02默认密码可爆破
默认密码是admin+4位数,代码为
$key = md5(time().'WMQBK3');
$p = 'admin'.substr($key,2,4);
登入处也没有验证码,也不需要用户名