首页 » PHP教程 » php删除审计技巧_深入解析PHP代码审计技能与实战收集安然

php删除审计技巧_深入解析PHP代码审计技能与实战收集安然

访客 2024-11-27 0

扫一扫用手机浏览

文章目录 [+]

这里说句题外话,之前有不幼年伙伴私信我要网络安全干系的资源,我这里都整理好了,须要的私信我自取 《黑客&网络安全入门&进阶学习资源包》免费领取

创造此处的功能点可以遍历目录下的文件,接下来我们抓包查看当前功能点的代码。

php删除审计技巧_深入解析PHP代码审计技能与实战收集安然

通过路由找到对应的文件 template.php ,然后接着通过 mudi=manage 进行分支选择进入到对应的函数中。

php删除审计技巧_深入解析PHP代码审计技能与实战收集安然
(图片来自网络侵删)

进入template.php文件。

在 manage() 函数中,首先传入了两个参数, dirStr 参数则是掌握路径的参数,而 sel 参数则是掌握是否进入代码的if,而末了将路径传入到File类下的 GetDirList() 函数中。
跟进GetDirList() 函数

创造利用 opendir() 函数列出目录下的文件

漏洞复现:

进入模板管理功能处,然后进行抓包。

抓包之后,进行测试。

然后在dirStr利用.../../来测试目录穿越。

2.任意文件读取漏洞

全局fread() 函数,创造Read()函数中调用了 fread() 函数。

然后搜索 Read() 函数的调用情形。

进入classFile.php文件。

然后搜索fread()函数的用法。

创造在 sysCheckFile_deal.php 文件中调用了 File::read() 函数,跟进该函数。

漏洞复现:

根据路由,去布局url路径,然后访问。

接着抓包,合营../进行目录穿越读取文件。

3.任意文件删除漏洞

在测试模板管理功能点处,创造该处存在一个删除的功能点,创造存在任意文件删除漏洞。

首先我们通过路由找对相应的源代码 template_deal.php 文件,且这里的路由指向为 DelFile() 函数,该函数中吸收了三个参数,个中filePath参数为紧张掌握路径的参数,将filePath参数带入到File::Del()中进行删除。
跟进 del() 函数

该函数很大略,首先判断路径是否为空,不为空修正权限最后进行文件的删除操作。

漏洞复现:

进入功能点处。
然后点击X号。

然后在根路径写入一个xxx.txt文件。

然后在filepath参数后合营../来删除文件。

4.msql_getshell

在 黑盒 测试中中存在一个 SQL语句调试 的功能点,该处没有对SQL语句关键字的过滤而造成SQL语句的任意实行,导致getshell。

进入功能点处。

然后实行大略的SQL语句进行测试。

然后利用抓包工具来定位路由。

然后看一下代码,创造文件的开头以条件分支来选择对应要实行的功能点,由于上述 mudi=sql ,以是我们找到该处要实行的sql所对应的函数

通过 OT::PostStr 方法传入五个参数,个中 sqlContent 中是须要传入的SQL语句,而下面对

into_outfile 、 global general_log 等SQL关键字进行了过滤

不才面检测你填入的后台密码是否精确,如果精确连续实行下面代码,在代码中实行了我们输入

的SQL语句。
未对其进行过滤完备,导致我们可以绕过过滤,来实行SQL语句。

漏洞复现:

首先去开启数据库日志功能,创造有过滤。

然后我们布局payload成功绕过过滤。

然后我们写入phpinfp文件。

布局payload,成功写入。

访问之后,成功getshell。

5.xss漏洞

进入users_deal.php

检测type是否为数组中的固定值,不是则带入AlertEnd方法中 跟进AlertEnd方法

创造type被带<script>标签,利用AlertFilter函数处理后直接alert,跟进AlertFilter函数

漏洞复现:

布局payload,成功实现弹窗。

6.xss漏洞2

进入read.php

创造在GetCityData函数中,idName参数没有做任何处理,带入GetCituOptionJs函数中跟进该方法

该方法中idName参数被直接带入DOM方法中输出

漏洞复现:

要调用GetCityData函数需mudi参数,然后在idName处输入XSS的payload。

成功实现弹框。

7.ssrf漏洞

在浏览代码过程中,创造该处利用curl_exec()函数来实行命令。

在函数UseCurl中,调用curl_exec函数实行了一个curl会话,只有$url参数可控,即可造成ssrf漏洞

进入info_deal.php

跟进AddOrRev函数

接着跟进PostStr函数,创造其调用了post函数。

跟进post函数。

$img参数通过POST办法传入,并且无过滤方法 连续跟进SaveRemoteFile函数

第二个参数被带入GetUrlContent函数,跟进GetUrlContent函数

根据可控参数的带入,跟进UseAuto函数,并且此处传入3个参数 0,GET,$url

根据传入第一个参数$seMode为0,会调用UseCurl函数,即进入漏洞关键函数

目前已知漏洞触发链条,接下来只须要根据进入函数的条件,布局poc即可

首先须要进入AddOrRev函数,只需$mudi值为add

然后须要知足进入SaveRemoteFile函数的条件

创造输入的参数为http://,接着来复现漏洞。

漏洞复现:

访问url地址,利用post办法,在img参数后面输入dnslog地址。

成功收到监听。

##总结 代码审计可以帮助创造各种类型的漏洞。
这些漏洞可能包括输入验证问题、授权问题、会话管理问题、跨站点脚本漏洞、SQL注入漏洞等。

标签:

相关文章

介绍白点控制之路,从原理到方法

白点,作为生活中常见的现象,无处不在。对于如何控制白点,许多人却感到困惑。本文将从原理出发,探讨白点的控制方法,并结合实际案例,为...

PHP教程 2025-01-03 阅读1 评论0

介绍直播王者,如何开启你的电竞直播之旅

随着电竞产业的蓬勃发展,越来越多的年轻人投身于电竞直播行业。王者荣耀作为一款备受欢迎的MOBA手游,吸引了大量玩家和观众。如何开启...

PHP教程 2025-01-03 阅读1 评论0