![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
审计
文章平均质量分 68
源码审计系列-php源码审计
ECHO::
这个作者很懒,什么都没留下…
展开
-
Catfish cms4.x审计--挖掘文章处存在的越权
今下午拿到一套鲇鱼4.4版本的cms,粗略百度查了下,这是一个thinkphp二次开发的站点,网上关于这个洞很多,看到一处越权挺感兴趣的,位置在 admin/controller/index.php的444行Db::name('posts') ->where('id', Request::instance()->post('postId')) ->update($data);这是个修改文章的功能点,看代码where变量原创 2021-08-16 22:08:10 · 328 阅读 · 1 评论 -
yxcms1.4.7版本审计sql注入-文件删除盲注配合dnslog解析数据
这是一篇cms审计内容,和之前做的文件包含+伪协议、反序列化入门内容不同,,拿项目练手。我找了一下网上关于yxcms的漏洞,谷歌收录到1.4.6存在前台注入和后台文件删除盲注这两个洞,,对比发现1,4,7版本源码几乎相同。下好1.4.7源码放到www目录下,访问进入了一个安装的页面在找漏洞审计之前,登录后台关闭后登不上,提示站点账户锁定,这里折腾了很久,所以整个审计过程都不能关闭后台。然后打开phpstorm开始审计源码:这里我对phpstorm的操作不了解,看del函数这里刚开始审计也不原创 2021-08-16 08:51:03 · 801 阅读 · 0 评论 -
php审计--通过php伪协议配合文件包含写入shell
有群友问过这样一个问题,,http:xxx/123.jpg 传上这样的图片马能不能连到shell?这有几种情况,,,php解析吧jpg解析成php,iis吧jpg解析成php都可以我们这里通过php伪协议+存在文件包含的页面做个复现先写个include函数,include后面没做处理的<?php$file = $_GET['a'];include "$file";to然后,,如果目录阶乘符不能用,url编码后无法绕过,尝试file协议在我本地环境www目录下存在一个无类型的a原创 2021-08-13 16:18:02 · 700 阅读 · 0 评论 -
php审计--灰盒角度来复现经典反序列化
站在巨人的肩膀上做反序列化复现,,这里已经找了fwrite()函数和read()函数,file_get_contents($file);都不能代替fopen()函数做复现,,本人水平有限,希望读者不要介意,我们从灰盒的角度做学习,,<?php class admin{ private $a='admin 2021'; public $b='admin 2021'; protected $c='admin 2021';}$admin_test = new adm原创 2021-08-12 21:57:52 · 121 阅读 · 0 评论 -
php审计--任意文件上传配合目录文件包含getshell
在黑盒中 源码 数据库配置文件都是很不好找的,,但源码审计不同所有的漏洞,成因都是相同的,但我们自以最基础的作为代表,这里文件上传这个点可以配合文件包含一块利用,当某个站对数据处理不严时,存在sql注入,那也可能会有文件注入,常见的文件目录穿越配合文件包含实现getshell演示目录穿越的原理,这里通过readfile函数读取文件,注意file变量里有个正斜杆<?phpif(isset($_GET['file'])){ readfile("file/".$_GET['file'])原创 2021-08-10 11:17:54 · 461 阅读 · 0 评论 -
php审计-->回调与反向正则匹配代码执行-可控参数$a导致命令执行
这里说一点,代码执行和命令执行,都需要php.ini关闭safe_mode的情况下。。如果不能获取环境变量,当然也可以通过com组件或全局变量,但我们只对这种类型 $cmd = $_GET['cmd']代码执行,这里有两个传小马常用的危险函数eval() 和 assert()首先来找代码层面的phpinfo();然后通过?cmd=system(ipconfig)看是否能调用系统函数。注意eval写法: eval("$a=$a");assert写法: assert("$a=$a"); 网页原创 2021-08-09 10:10:41 · 291 阅读 · 0 评论 -
php审计--POST[‘id‘]二次注入-GET[‘id‘]宽字节注入
POST[‘id’]二次注入在网站业务在注入点出现在注册页reg.php我们在注册的时候,如果’ union select 1,2,3,4#这样的语句能带入数据库,但没有直接利用办法,那就能通过查询search.php来sql注入前端这里写一个Form <form action="reg.php" method="POST"> id:<input type="text" name="id"><br> username: <input type=原创 2021-08-07 21:39:48 · 385 阅读 · 1 评论 -
php审计-最经典的_GET[‘id‘]和POST[‘id‘]注入
这里,_GET[‘id’]和_POST[‘id’]很多人都知道,,但我们做php审计,后面的宽字节注入和二次注入都会和mysql交互,那审计这两段源码就非常重要。这里建个php,放到www下面,GET型 如果下面不带前端源码,写成这样也行。<?php 定义一个变量$conn通过mysql_connect(server:'localhost',username:'root',passsword:'root');函数建立mysql连接下一步我们用一个变量$sql or $a 接受查询语句原创 2021-08-07 20:57:09 · 822 阅读 · 0 评论 -
php审计中的超全局变量
$_POST $_GET $GLOBALS $_REQUEST$_SERVER $_FILES $_COOKIE$_SESSION这里$_COOKIE 和_SESSION直接做个演示。<?phpsession_start();//登录,某文件会给变量配一个值,我们伪造123//如果123=$_SESSION内的值,那么我们就能绕过一部分$a=123;$_SESSION['value']=$a;echo $_SESSION['value'];?>cookie和s原创 2021-08-06 11:22:12 · 103 阅读 · 0 评论 -
php.ini三大危险变量审计--
第一个特性: safe_mode在php 5.4.x之前的版本是没关的,,这里按xx牛的意思做个演示,咱们怎么利用?1.首先我们新建一个cmd=cmd=cmd=_GET[‘cmd’];//获取系统cmd变量然后放到web根目录下,执行 ppp.php?cmd=ipconfig然后我们这里做一个开启安全模式:可以看到页面是空白,没有接受到任何数据,原因是我们没获取到环境变量。第二个特性: register_globals 全局变量如果他是开启的,我们可以这样利用:if(isset(原创 2021-08-05 15:02:51 · 91 阅读 · 0 评论 -
php审计-Day1==配置环境
跟着xx牛学习php审计,按一步一个脚印,做好笔录免下一阶段走弯路;声明一点:作者写的文,都不是临时赶出来的,最迟也是第二天花时间写的。我们审计的工具是seay开源的工具,,这里用的二次改版的,,觉得更好用一些,链接:https://pan.baidu.com/s/1Q3BBfcvSeT1P9CgjiBMY5A提取码:k8cb代码辅助 phpStorm 和 Notepad++phpStorm 这里从某站下了个一条龙的,,链接:https://pan.baidu.com/s/1GX-eGA原创 2021-08-02 21:29:22 · 104 阅读 · 0 评论