
文章插图

文章插图
2.接下来他将会使用反射来实例化,但到目前为止,他的路由调度也算是完成了 。

文章插图

文章插图
(二)总结 简单来说,总结如下:
1. 当你传入了一个URL后,thinkphp会把你的URL提取出来;
2. thinkphp对传入的URL进行解析;
3. 解析后,thinkphp对URL进行拆分;
4. 拆分后,重组为一个命名空间;
5. tp5取得命名空间后,通过反射的方式实例化 。
(三)漏洞来源
我们刚刚一直在提,tp5是怎样解析这个我们传入的URL?tp5是怎样处理URL?
\’\\\’、\’/\’这两个符号的处理方式是不一样的:如果我们传入的是\’\\\’,那他会把\’\\\’前面的部分和后面的部分当做是一个整体;如果我们传入的是\’/\’,那他就会拆开\’/\’前后的字符串,然后分别赋值 。
举例:
你传入了一个:1\\2,那tp5会认为这个1和2是分开的;
你传入了一个:1/2,那tp5会认为这个1和2不是分开的;
这个就是tp5系列路由漏洞的成因了 。
那我们就有几个问题:
1. 怎么访问到可能包含恶意代码的文件中去?
2. 如果你想访问这个恶意代码,你得怎么构造?
3. 你构造出来的话,怎么去用?
这里我们再写一下正常的构造方式:
http://localhost/index.php/admin/index/hello
我们构造一个访问thinkphp/think下的Container.php
http://localhost/index.php/模块名/File/get?name=path
【代码审计思路 php代码审计思路】 恶意命名空间构造
http://localhost/index.php/index/think\\Container/exists
但是这个斜杠我们在使用的时候就已经直接给转换了,所以我们用不了,我们就得使用这个兼容模式来构造了 。
http://localhost/index.php?s=index/think\\Container/exists
在这里,他就获取了一个可以说是恶意的命名空间了 。

文章插图

文章插图
(四)Nday 使用方法
s=index/think\\request/input?data=https://www.0579wy.com/article/whoami&filter=system

文章插图

文章插图
这里跟进后,你可以看到一个非public的方法,这也验证了我们之前说的一个事情,就是你挖洞或者打CTF的时候,如果你在一个框架中,没有找到直接访问恶意代码的地方,你可以去一些曾经调用过这些方法的办法中一级一级地往上溯源,直到找到入口 。然后再开始构造poc,一步一步地测试 。在这个方法中,我们可以看到1437行中有一个call_user_func(),并且这个方法中的传参并没有被写死,所以我们可以尝试去构造一些东西 。
(五)扩大攻击面
我们通过这次分享,知道了tp、命名空间是怎么用,了解到如何通过使用命名空间去访问一个含有恶意代码的类 。通过这种方式,我们可以尝试扩大自己的攻击面,不一定要从call_user_func这种方法直接入手,但是我们可以去尝试读文件或者任意删除这种东西 。虽然我们相比于这种低危或者中危漏洞,更倾向于RCE拿到权限,但有时候一些中低危也有可能会包含一些比较隐蔽的、提升危害的方法 。
(六)了解小星,了解星云博创
星云博创科技有限公司(简称“星云博创”)成立于2016年,是国内新兴的网络安全产品、可信安全管理平台、专业安全服务与解决方案的综合提供商 。星云博创设北京为北方总部,广州为南方总部,并于成都、合肥、南昌、贵州、武汉、太原、哈尔滨等多个城市设立分支机构 。同时,星云博创为不断完善客户服务体系和应急响应体系,在全国10余个省、市、自治区、直辖市建立三级服务支持中心,7×24小时接受客户需求,及时提供标准一致的安全服务 。
作为一家以技术先导的企业,星云博创始终坚持在网络安全、数据安全、态势感知、等级保护、合规性安全管理等领域进行技术创新,利用安全分析、大数据分析、人工智能等技术,对网络空间安全要素、安全风险进行深度挖掘与关联分析,构建了多层次的纵深防御体系,持续推出态势感知平台、静态脱敏系统、终端安全监测系统等一系列优秀的安全产品和行业解决方案,广泛应用于政府、运营商、医疗、教育、电力、能源等多个领域,让风险无所遁形 。
推荐阅读
- 电脑详细的蓝屏代码大全 电脑蓝屏代码大全及解决方案
- 王者荣耀空白名字代码复制粘贴有哪些 王者空白代码复制粘贴
- 写编程代码用什么软件 电脑上的编程软件
- win10蓝屏错误的解决方法 蓝屏代码0xc000021a怎么修复
- 新手打野思路和技巧 打野思路和技巧
- 所有空白代码特殊符号大全 王者荣耀网名空白格复制
- 海尔滚筒洗衣机e2故障图解和修理 海尔洗衣机e2是什么故障代码
- 微信社群运营新思路 微信运营怎么做
- 做自媒体的10个赚钱思路 新媒体如何挣钱
- 电脑蓝屏代码大全及解决方法 电脑开机显示蓝屏英文怎么处理