freeBuf
主站

分类

漏洞 工具 极客 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

一次对最新版Metinfo CMS的代码审计
FreeBuf_390655 2022-02-10 18:25:10 176808
所属地 北京

0×00:前言

挖掘米拓cms时发现系统存在一处过滤函数多次调用引起的sql注入,遂记录下来与师父们一起学习下,有啥不足之处,菜鸟勿喷 O(∩_∩)O

0×01:漏洞调试

由于代码繁杂,直接发送payload进行调试。

payload:/admin/?n=language&c=language_general&a=doModifyParameter&editor=1&data[system]=1%27%20or&site=0&appno=0&editor=cn&data[system]=2\%27%20where%20id=1%20and%20sleep(3)%23

在app/system/language/admin/language_general.class.php的doModifyParameter下断点

1644487059_6204e193a5a234f185f1a.png!small?1644487071028


往下走,metinfo对传入的参数进行了全局过滤,可以看到我们的payload中的单引号反斜杠被转义

1644487110_6204e1c663139efefe11e.png!small?1644487121687

再往下走会有一个sql查询语句,查询语句的结果影响到漏洞语句是否执行,所以需要构造payload为数据库中存在的语句

1644487349_6204e2b587dc8453a8114.png!small?1644487361413

1644487381_6204e2d57b979b2606283.png!small?1644487392522

再往下走,经过stripslashes函数之后,转义字符被去除,value已经是正常的payload,但是代码下一步使用preg_replace("/\'/", "''", $value)将单引号替换为两个单引号,所以payload中的反斜杠有了用武之地,他将其中一个单引号转义

1644487415_6204e2f7321d7e7f8c9ec.png!small?1644487426435

这样的sql语句可以成功被执行

1644487457_6204e321554cdfcb9125f.png!small?1644487468339

0×02:黑盒测试

白盒审计完毕,搭建起环境测试一下。

1644487492_6204e34471e2f41a1269a.png!small?1644487503789


0×03:总结

代码审计中,可以重点关注下stripslashes,preg_replace这一类的函数,如果在将数据插入数据库之前进行了不合理的使用,就可能造成安全隐患。














# 代码审计
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 FreeBuf_390655 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
FreeBuf_390655 LV.1
这家伙太懒了,还未填写个人描述!
  • 1 文章数
  • 0 关注者
文章目录