VAuditDemo代码审计】的更多相关文章

简介 先提一嘴,代码审计流程大概可以归结为:把握大局,定向功能,敏感函数参数回溯. 本文也是按照此思路进行,还在最后增加了漏洞修补方法. 本人平时打打CTF也有接触过代码审计,但都是零零散散的知识点.希望借此机会全面提升自己的代码审计能力.共勉! 把握大局 首先看一下目录结构吧. VAuditDemo ├── about.inc ├── admin //管理员目录及功能 │   ├── captcha.php │   ├── delCom.php │   ├── delUser.php │  …
要对一个程序做系统的审计工作,很多人都认为代码审计工作是在我们将CMS安装好之后才开始的,其实不然,在安装的时候审计就已经开始了! 一般安装文件为install.php或install/或include/目录下的某个文件 访问后开始进行安装,常见安装漏洞如下 (本文设计的Python辅助工具,公众号回复:Python_Fuzhu 获取) install.lock文件 在完成CMS的安装之后一般都会生成一个install.lock文件这个文件的作用就是 "防止网站误重启安装向导,导致重新安装&qu…
在 search.php中 $_GET['search']未经过任何过滤就被输出 可能存在反射型XSS…
在search.php中 $_GET['search']未经过任何过滤传入到$query的执行语句中…
在 admin/logCheck.php中 $_POST['user']和$_POST['pass'] 未经过任何过滤或者编码处理就传入到$query中,可能存在万能密码绕过机制 但是$pass经过了加密,所以我们从用户名做为突破口…
在 index.php中先判断get过来的module是否设置了变量,如果已经设置,则包含module,并与字符串.inc拼接 inc格式一般是图标或者头像格式,因此我们可以初步判断,这个包含应该是基于图像上传 那么我们就应该搜索上传相关的函数 $_FILES 这里我们看到,图像上传的功能,上传图片的路径的格式为:u_ 当前时间戳_原来的文件名 (我们可以用PHP函数来解时间戳) 跟踪 is_pic is_inc只是单纯的验证后缀名,我们可以尝试用00截断或者为协议进行验证 ----------…
这里我们定位 sqlwaf函数 在sys/lib.php中,过滤了很多关键字,但是42 43 44行可以替换为空 比如我们可以 uni||on来绕过过滤…
一.源码安装漏洞介绍 一般在PHP源码程序都有一个初始安装的功能,如果相关代码没有对参数进行严格过滤,可能会导致攻击者访问安装页面(install.php)或构造数据包,对网站进行重新安装,从而危害网站安全,甚至拿到服务器权限 二.安装页面可能产生的漏洞 1.无验证功能,任意重装覆盖 2.$_GET['step']跳过限制步骤 3.变量覆盖导致重装 4.判断 lock 后跳转无exit 5.解析 install.php.bak 漏洞 6.其他特定功能绕过漏洞 三.审计 如果sys目录下存在ins…
一般PHP中可以使用下列函数来执行外部的应用程序或命令 system() exec() passthru() shell_exec() 跟踪$cmd --> 跟进$target,发现传递给target的数据没有经过任何过滤,最后使用shell_exec执行cmd 验证:…
一.前言 php代码审计如字面意思,对php源代码进行审查,理解代码的逻辑,发现其中的安全漏洞.如审计代码中是否存在sql注入,则检查代码中sql语句到数据库的传输 和调用过程. 入门php代码审计实际并无什么门槛要求,只需要理解基础的php语法规则,以及理解各种类型漏洞的出现原因则可以开始尝试审计php源代码.通常的漏洞演示中sql语句会直接传入php自带的函数传入数据库执行,但在实际的软件项目中,通常以面向对象的思想进行编程,则会涉及各种形式的封装,调用,以及不同风格的框架,在这个条件下,只…