下载地址

源码下载链接 : http://www.mycodes.net/42/10184.htm

0x1前台注入

这里测试的是搜索功能,在index.php的第134-141,关键在第136行处$s带入数据库执行
46666-bz6m8sj0ksj.png

$s是在8行处通过get获取的,只进行了htmlspecialchars也就是把<>转换为 HTML 实体,并没有进行过滤或者转义

56078-4cy0bklwkld.png

136行调用的是total方法在appclassapp.php文件内定义,我们这里使用var_dump输出他执行的语句

98818-9msqzm86vq.png

var_dump('SELECT count(id) as c FROM '.$tab_name.' '.$tj);

然后来到搜索页面查看是否输出语句,这里可以看到成功输出

85258-2cf0h17nvos.png

这里测试'or 1=1,可以看到把条数查询出来了,也确定了这里存在sql注入

76569-7qipx8f685o.png

这里没办法使用联合注入因为在total方法内返回的是第一条执行的记录值,我们可以total方法内输出查询结果

23603-bxxuvjb65vn.png

然后构造联合注入来查询版本

') union select sqlite_version()--

可以看到查询出了两个数组但是方法只会返回第一个数组的值$result0所以这里没办法成功,因为我也不熟悉sqlite不知道还有没有方法可以利用

83945-606xx5qyxp6.png

这里使用延时注入,使用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);

31546-t3ue2c34yb9.png

登入处也没有验证码,也不需要用户名

20733-rbhdv0dtw6b.png

最后修改:2022 年 01 月 20 日
  • 本文作者:Juneha
  • 本文链接:https://blog.mo60.cn/index.php/archives/54.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
  • 文章声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任,本人坚决反对利用文章内容进行恶意攻击行为,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全。
如果觉得我的文章对你有用,请随意赞赏