红日攻防实验室

红日攻防实验室



代码审计第八节实战骑士cms任意文件删除挖掘

任意文件删除也是代码审计中比较重要的一个知识点,删除主要不是删除同目录下的文件,而是删除我们认为比较重要的文件。上节教程主要是采取了黑盒加白盒的方式进行代码审计,这节课也是才相同方式进行审计。希望大家有所收获。

安装成功74cms软件以后,大概浏览一下,要清楚一下功能调用等一些基本问题。另外就是开始进入后台,查看后台看看有哪些可以利用的。
1.png
后来在系统的地方发现一些可以删除的地方,如果代码严谨就不会出现夸目录删除,那我们可以进行分析一下代码。我所采取方式,是黑盒和白盒结合进行代码审计。
2.png
我们找到一个删除省略图的地方,调用img这个变量,然后进行删除。有没有发现在调用$_GET这个变量的时候,没有进行任何过滤函数,直接删除,调用了unlink。如果你没有采取黑盒的方式,在代码中可以直接进行查找unlink,也可以进行上下文分析。
3.png
这个是通过notepad++直接进行搜索unlink,然后大概是21文件,通过排除和分析,然后也不会有太多文件,那么两种方式大家可以自行选择,如果你接触审计不长,对代码逻辑不是特别清楚,建议大家采取第二种方式,进行查找,由于第一个就是arctice这个文件,点击进去就可以直接找到问题点。
4.png
点击就可以找到函数关键点。
5.png
通过对img参数调整,发现可以删除根目录下面的文件,可以跨目录进行删除。这个也算一个任意删除目录。
6.png
在根目录下面有一个123文件,我们尝试任意删除漏洞是否可以删除根目录文件。

另外通过查找,我们有发现一个可疑点,代码如下
7.png
发现act是不是也有问题呢,通过查找代码应该也是没有经过任何保护,直接就执行unlink,通过跳转目录也可以直接删除。
8.png
9.png
最后发现可以删除成功。本节就给大家介绍到这里。
本人博客:sec-redclub.com
下节预计给大家分析一下任意文件下载。
在开始讲下一节之前,希望大家把下面的函数,百度查找一下,说不准下节会利用到搜索功能进行搜索。

file_get_contents(),highlight_file(),fopen(),readfile(),fread(),fgetss(),fgets(),parse_ini_file(),show_source(),file()

等。

 标签: none

作者  :  lyxw



关于我

about me

lyxw

联系我