电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 3945 人浏览分享

对某bc代码的一次代码审计

[复制链接]
3945 0
本帖最后由 zhaorong 于 2021-4-9 15:21 编辑

路由分析:

在之前的文章中有写到对于自写框架的代码需要分析路由这套代码路由就在index中:

023611xaes9z2is0s2rqey.png

其实这段代码光猜就能猜出来他的大概意思,分析过TP的朋友都知道就是:
http://127.0.0.1/控制器/方法
往下看会发现一个比较重要的地方:

023826ujz18ztdcx9hh5j8.png

这里用到了反射这个概念,其实在PHP中反射并不常用,Java、C#中才是反射用到最多的地方。

什么是反射?

简单的来说就是你不需要实例化这个类你就能知道这个类的所有属性、方法并调用他们。
从上面的代码中我们可以看到,该代码只允许调用带有Final修饰符的方法。
我们看完方法调用后需要在看他的参数传递:

1099.png

这段代码所表达的意思就是:
http://www.baidu.com/控制器/方法/参数1/参数2
注意没有参数名,也就是说如果是方法接收参数我们可以直接通过这种方式去传递参数。

主动过滤:

1098.png

这里会把所有超全局变量中的值进行addslashes转义。

XSS1:

1097.png

为了方便各位看到漏洞核心代码我对一些代码进行了马赛克处理 新手在审计代码的时候
主要的问题就是被绕的头晕。

目标从POST中获取了bankId、cardNo、subAddress然后直接插入了数据库


XSS2:

98.png

首先目标会从POST中获取到Name参数

97.png

然后将fullname放入到了pare数组中

96.png

最后插入数据库。

注入

我们之前说了代码有主动过滤,所以不能从GET\POST等超全局变量中取值那么我们
之前分析的传参方式就显得异常重要了:
http://www.baidu.com/控制器/方法/参数1/参数2
这样的话是不走主动过滤的,如果在利用这个逻辑他代码安全性就变得异常低了起来。

93.png

类似的代码片段还有很多,我就不列出来了。

前台RCE:

92.png

懂得都懂。。。。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.