【代码审计】iZhanCMS_v2.1 后台存在多个SQL注入漏洞分析
0x00 环境准备
iZhanCMS官网:http://www.izhancms.com
网站源码版本:爱站CMS(zend6.0) V2.1
程序源码下载:http://www.izhancms.com/category/Category/index/cid/1
默认后台:http://127.0.0.1/admin/admin/index
默认用户名:admin 密码自设
测试网站首页:
0x01 代码分析
1、漏洞文件位置一:
/admin/application/extensions/controllers/QrcodeController.php 第235-246行:
这段函数中将获取到的参数id,拼接到SQL语句中,然后带入数据库执行,这个地方就存在SQL注入。
2、漏洞文件位置二:
/admin/application/webset/controllers/ManagelogController.php 第33-57行:
在这段函数中将获取到的参数keyword,没有单引号保护,同样拼接到SQL语句中,然后带入数据库执行,导致程序在实现上存在SQL注入漏洞,攻击者可利用该漏洞获取数据库敏感信息。
3、漏洞文件位置三:
/admin/application/webset/controllers/AdminuserController.php 第37-69行:
在这段函数中将获取到的参数keyword,未经任何过滤,同样拼接到SQL语句中,然后带入数据库执行,导致程序在实现上存在SQL注入漏洞,攻击者可利用该漏洞获取数据库敏感信息。基本后台所有的搜索框都存在类似的情况。
0x02 漏洞利用
漏洞位置一 Payload:
http://127.0.0.1/admin/extensions/qrcode/preview?id=2/**/and/**/1=1
可直接使用SQLMAP来跑:
位置二:登录后台--系统设置--日志管理--搜索--Payload:111%'
位置三:登录后台--权限设置--系统管理员--搜索--Payload:111%’
后台搜索框几乎都存在一样的问题,不一一去验证了。
0x03 修复建议
使用参数化查询可有效避免SQL注入
最后
欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。