PHP代码审计学习】的更多相关文章

前言 正式开始代码审计的学习,拓宽自己的知识面.代码审计学习的动力也是来自团队里的王叹之师傅,向王叹之师傅学习. 这里参考了一些前辈,师傅的复现经验和bluecms审计的心得 安装 install.php 搭建完成 seay自动审计 文件包含漏洞 /user.php 742-751行 elseif ($act == 'pay'){ include 'data/pay.cache.php'; $price = $_POST['price']; $id = $_POST['id']; $name =…
原文:http://paper.tuisec.win/detail/1fa2683bd1ca79c 作者:June 这是一次分享准备.自己还没有总结这个的能力,这次就当个搬运工好了~~ 0x01 工具准备 PHPSTORM,不只是编程. 个人觉得只要能够提供全局搜索.单页搜索.函数跳转的编辑器就能够满足要求.一般在审计的时候,先找到一个入口点,配合代码和浏览器,一边下断点,一边打印变量,再在浏览器上观察反应. 自动化审计工具,食之无味,弃之可惜. 当然,我手边能用到的自动化审计工具就是能在网上找…
一.开始代码审计之旅 01 从今天起,学习代码审计了,这篇文章就叫代码审计01吧,题目来自 PHP SECURITY CALENDAR 2017 的第一题,结合 红日安全 写的文章,开始吧. 二.先看这道题目 1.题目名称:Wish List 2.in_array() 函数的作用 in_array() 函数的作用是判断第一参数是否存在第二个参数中,存在返回 true,不存在返回 false.需要注意的是,如果函数第三个参数为 true,则第一个参数必须还要和第二个参数同类型,函数才能返回 tru…
学习代码审计,自己简单记录一下.如有错误望师傅斧正. PHPCMS预备知识 PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只有一个统一的入口. 参数名称 描述 位置 备注 m 模型/模块名称 phpcms/modules中模块目录名称 必须 c 控制器名称 phpcms/modules/模块/*.php 文件名称 必须 a 事件名称 phpcms/modules/模块/*.php 中方法名称 PHPCMSV9…
PHP代码审计SQL注入漏洞 0x00 首先明确什么是SQL注入,SQL语句必须掌握. 常见的注入总的来说可以分为两大类:数字型和字符型. 这两类中包含了诸如报错注入,宽字节注入,盲注,二次注入,cookie注入,POST注入等等. 因为我大一已经花了大量时间来研究sql注入,这里就不细写了,有兴趣的师傅可以看看sql注入天书. ps:数字型注入不需要闭合,字符型需要闭合. 0x01 注入的利用方式 1:查询数据 2:读写文件 3: 执行命令 0x02 盲注 在sql注入过程中,sql语句执行的…
0x01 前言 偶然间看到红日团队的PHP代码审计教程,想起之前立的flag,随决定赶紧搞起来.要不以后怎么跟00后竞争呢.虽然现在PHP代码审计不吃香,但是php代码好歹能看懂,CTF中也经常遇到,挖洞也能用,所以学一手还是有作用的. 0x02 in_array() 函数 in_array :(PHP 4, PHP 5, PHP 7) 功能 :检查数组中是否存在某个值 定义 : bool in_array ( mixed $needle , array $haystack [, bool $s…
PHP代码审计-php安全基础 php.ini选项 register_globals php>=4.2.0,php.ini 的 register_globals 选项的默认值预设为 Off,当 register_globals 的设定为 On 时,程序可以接收来自服务器的各种环境变量,包括表单提交的变量,而且由于 PHP不必事先初始化变量的值,从而导致很大的安全隐患. 实例1 //ex1.php <?php if (check_admin()) { $is_admin = true; } if…
文件下载漏洞 漏洞代码: <% function download(f,n) on error resume next Set S=CreateObject("Adodb.Stream") S.Mode= S.Type= S.Open S.LoadFromFile(f) then Reaponse.status=" else Response.ContentType="application/octet-stream" Response.AddHea…
命令执行漏洞: 保存为cmd.asp,提交链接: http://localhost/cmd.asp?ip=127.0.0.1 即可执行命令 <%ip=request("ip") response.write server.createobject("wscript.shell").exec("cmd.exe /c ping "&ip&"").stdout.readall %> 利用方式: http:…
1.ASP上传过程抓包分析: POST /4.asp HTTP/1.1 Host: 192.168.1.102 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,en-U…