随笔分类 - 代码审计
摘要:一、漏洞分析 漏洞触发点search.php 211-213行 跟进parseIf 函数 ./include/main.class.php 这里要注意 3118行的位置,可以看到未做任何处理的eval 二、触发条件 三、构造POC 1.preg_match_all($labelRule,$conte
阅读全文
摘要:很老的漏洞了,但很经典~ 在 phpcms2008/include/global.func.php eval 可以执行命令 在这里我们看一下是谁调用 跟进string2array函数 yp/web/include/common.inc.php $menu变量初始化不严,导致可以注入执行任意PHP代码
阅读全文
摘要:index.php的开头系统都做了过滤 一个是 htmlspecialchars($v), 另一个是/^[\x{4e00}-\x{9fa5}\w {0}]+$/u。 前一个过滤是把预定义的字符 "<" 和 ">"转换为 HTML 实体。 后一个是用正则处理参数,使其只能输入下划线、数字、 字母、 汉
阅读全文
摘要:一、漏洞介绍 变量覆盖指的是用我们自定义的参数值替换程序原有的变量值,一般变量覆盖漏洞需要结合程序的其它功能来实现完整的攻击 二、漏洞函数 变量覆盖漏洞大多数由函数使用不当导致,经常引发变量覆盖漏洞的函数有:extract(),parse_str()和import_request_variables
阅读全文
摘要:在 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 这里我们看到,图像上传的功能,上传图片
阅读全文
摘要:这里我们定位 sqlwaf函数 在sys/lib.php中,过滤了很多关键字,但是42 43 44行可以替换为空 比如我们可以 uni||on来绕过过滤
阅读全文
摘要:一、源码安装漏洞介绍 一般在PHP源码程序都有一个初始安装的功能,如果相关代码没有对参数进行严格过滤,可能会导致攻击者访问安装页面(install.php)或构造数据包,对网站进行重新安装,从而危害网站安全,甚至拿到服务器权限 二、安装页面可能产生的漏洞 1、无验证功能,任意重装覆盖 2、$_GET
阅读全文
摘要:一般PHP中可以使用下列函数来执行外部的应用程序或命令 system() exec() passthru() shell_exec() 跟踪$cmd --> 跟进$target,发现传递给target的数据没有经过任何过滤,最后使用shell_exec执行cmd 验证:
阅读全文
摘要:审计的都是之前很老的一些的CMS,把学习的过程分享出来,如果有正在和我一起学习的兄弟们,希望看到文章之后会有所收获 在system/moudles/member/index.php中 上述代码可以看到$fields 没有被过滤,跟踪$fields这个变量。 在83行把重新组合的值传入到 $field
阅读全文
摘要:代码审计是我之前一直不敢涉及的领域,它包含的知识面太广。最近才开始学习,前段时间写的第一篇代码审计的文章 更多的感觉像是一个黑盒测试。我也会尽量把文章写的通俗易懂。代码审计 0基础从大牛的蜕变 从这里开始~ /about/index.php 我们先输出变量$moudle,这里我们看到 show.ph
阅读全文
摘要:审计的是一套盾灵CMS 安全性不是那么高 代码部分 3行 获取cookie值,如果传入的cookie为true则执行$check 否则传入值为空 5行 如果$check为空则跳到登录页 这里cookie没有做验证 我们可以伪造进入后台 验证:
阅读全文

浙公网安备 33010602011771号