标题:php程序常见漏洞以及如何挖掘漏洞
作者:小淡
我给大家写的这篇文章主要是关于php挖掘一些简单的漏洞已经相关的渗透经验。
1.写文件漏洞
首先给大家分析的一种类型就是写入文件漏洞 我记得有好多个程序是死在这个上面的。
$file=…./然后一个定义的变量名/info.php。
Php和asp不同, 一些asp的数据库可能是asa格式的 所以有些漏洞是前台留言,当然前提是没过滤相关字符。 直接插入一句话
,然后连接。 当然php也存在这样的漏洞,比如一个简单的留言页面,一般都是直接写入数据库 然后另一个页面调用数据库内的内容.一般都是过滤了非法字符的。死在留言板上的一个程序 就是帝国cms了,通过留言注入的好像,当然种种细节 我就不分析了。
2.后台验证
一些后台只用cookies来验证的,那样是很危险的。Adminname的值取admin的id
.至于这些表字段 你如果不会看源码 本地搭建环境然后安装就可以。至于管理账号这些,可以前台找 也可以靠猜、一些常用的我就不列举了,一般如果没有这个账号就会提示你的。
还有的后台登陆可以用万能密码登陆,不介绍 大家懂的。
还有一个比较2B的程序。叫牧星php网站信息管理系统。
他的后台验证很蛋疼。
 
这个问题很严重,不管你账号密码有没有错误 都会赋予你session。那么我们只需要随便输入账号密码 然后跳转到index.php即可。
 
3.注入点。
如果一套程序爆了注入点 那么就可以强行插入 爆出一些重要信息 ,当然也包括账号密码。Ps//找到注入点,要学会结合源码 去爆账号密码 不多解释 。
前几天看到一个大牛,具体怎么说我忘记了,主要就是说对新手来说 挖漏洞只要结合wvs和php代码审计就可以了,对此 我觉得很是不解。一些关键东西,还是要靠手动去找,必须 耐心 专心 细心。三者缺一不可的。
至于找注入点 无非是看源码结合实战、有经验当然就方便了。我主要介绍两个搜索形注入和cookie注入)
 
4.注册漏洞
一些程序的注册页面,并没有过滤掉一些非法字符,这样的话 很容易照成注入。
当然 还有一些巧妙的利用。比如注册一个为2.php;1的用户 然后上传头像是2.php;1.jpg 或者注册2.php的用户 上传的图片地址是2.php/xx.jpg。诸如此类的有很多 大家自己灵活发挥。
 
5.一些任意下载漏洞以及外连
下载漏洞主要形式download.php?Jh5zIw==20&m=2&f=../include/config.inc.php
我们可以通过../来列上一级目录。从而达到下载数据库 一些重要信息的目的,
典型的就是phpcms2008了,他的问题出在其实¥i,$m,$f,这些都是地址栏的参数 并没有过滤。
外连这里不多讲 我也不大懂。一般体现在安装文件上面。
遍历漏洞倒是和任意下载漏洞差不多。
其中../../可以任意构造,即可遍历整个服务器。当然下载很多程序都会对重要目录进行限制。
6.铭感文件以及验证问题
现在死在妇产科的程序 好像还是比较多的。要我举例 那就算了 大家都遇到不少。
我主要讲的是一些后台的铭感文件。比如没有验证…
 
那么看一个验证的
ps//我去,我怎么插入不了图片了呢?
 
<?
/*————————–
XXXX ——
xiaodan_t1@126.com———————*/
error_reporting ( 0 );
require_once(‘data.php’);
require_once(‘../include/common.inc.php’);
require_once(‘../include/config.php’);
require_once(‘../include/cj.php’);
if ($_COOKIE ['x_Cookie'] != $adminname or $_COOKIE ['y_Cookie'] != md5 ( $password )) {
echo “<script>location.href=’index.php’;</script>”;
exit ();
}
?>
 
这样的 用了require函数.那么当我们打开这个页面的时候 首先就是执行这个函数。当然并不是说验证了就绝对安全 因为require函数的特殊性 用不好也会带来很严重 致命的安全隐患。下篇文章给大家放个实例出来。
未完待续哈…
7.上传漏洞
大多是一些上传没有过滤,或者用了第三方上传工具,或者可以自定义名字。
这里给大家放出一个天天团购的实例。因为是因为本地包含了mod.php 所以在后台 文件中 我们找到了后台的一个文件。前面都是过滤了上传,但是代码中发现可以自定义path名字的漏洞。那么大家可以结合环境,上传木马。贴出代码。
 
$dir = ‘./’.$dir;
require_once LIB_PATH . ‘upload.han.php’;
 
$upload_handler = new UploadHandler($_FILES, $dir, ‘uploads’ , true);
 
那么另外关于上传,我还给大家扩展个。当然并不属于php的范畴。
之前有一个小说程序,上传头像那里,因为引用外部js,那么我们可以通过火狐 或者其他的工具,修改源码,直接上传木马。
 
8.代码执行漏洞
一般都是体现在某数组或者函数没有初始化。然后导致了可以提交任意代码执行。
一般只要出现了这样的漏洞 都是可以直接getshell的.
比较典型的就是dz 7.1和7.2版本showmessage函数中eval中执行的参数未初始化,所以后来出了getshell。
还有就是php168 6.02版本中 也出现了这个问题,大家自己搜索下,我就不详细介绍了。
 
9.插件漏洞
一些比较大的程序 一般都很难找到漏洞。当然并不是没有 。这个时候我们可以找一些插件漏洞。
比如wordpress 。就经常爆插件漏洞 啥评论插件,广告插件,后台上传插件等等,上次都看见专门扫描wordpress插件漏洞的工具。当然这样的漏洞有局限性。
本文来自: