tips:

这种破解方式是不可能用在生产环境的,只是提供一种思路

破解wordpress博客密码,虽然是暴力破解但是有研究价值。

安装完毕被攻击主机采用lnmp 用户名admin密码password

在攻击机kali上测试是否可以正常访问该站点

使用crunch生成字典,因为是实验环境所以我设置的密码是123456,我设置的字符集是123456,但是真实环境下只要是接触过互联网的都知道不能用6位纯数字作为密码。

开始使用wpscan对所被攻击站点进行初步扫描

从结果上看能知道你的是否使用nginx,php版本,你的是否使用主题主题路径,是否使用插件,是否开启XML-RPC,以及你wordpress的版本。初步扫描到这里基本上就是非常完美的踩点了,这就相当于贼已经知道你家的收入水平了,和你家用的什么门,你家保险箱用的是哪个牌子,更有甚者连你内裤的牌子都能看见。这有多恐怖不言而喻了吧。

使用-e u参数扫描到登录用户名admin

知道用户名之后用基本相当于以及拿到锁子了,接下来只要用万能钥匙开锁子就行了,贼要准备进家门了。

接下来就等着让kali一个一个试钥匙就行了、贼准备进家门了。可见

可见用户名是admin,密码是123456

实验总结:

不过把再试钥匙的时候可以看一下服务器负载,达到了惊人的4以上(单位时间内可以让一辆车过的车道,却堵了5辆车这种感觉)可见这种暴力破解是比较好防御的,这对服务器性能产生较大的负荷。比如说只要负载超过多少就认为收到了暴力破解攻击立马停止web服务,或者设置nginx或者apache2的单位时间以内的最大连接数就基本就能抑制了。

下面详解wpscan工具

98、	u 枚举用户名,默认从1-10
99、	
100、	u[10-20] 枚举用户名,配置从10-20
101、	
102、	p 枚举插件
103、	
104、	vp 只枚举有漏洞的插件
105、	
106、	ap 枚举所有插件,时间较长
107、	
108、	tt 列举缩略图相关的文件
109、	
110、	t 枚举主题信息
111、	
112、	vt 只枚举存在漏洞的主题
113、	
114、	at 枚举所有主题,时间较长
115、	
116、	可以指定多个扫描选项,例:"-e tt,p"
117、	
118、	如果没有指定选项,默认选项为:"vt,tt,u,vp"
119、	
120、	--exclude-content-based "<regexp or string>"
121、	
122、	当使用枚举选项时,可以使用该参数做一些过滤,基于正则或者字符串,可以不写正则分隔符,但要用单引号或双引号包裹
123、	
124、	--config-file | -c <config file使用指定的配置文件
125、	
126、	--user-agent | -a <User-Agent指定User-Agent
127、	
128、	--cookie <String指定cookie
129、	
130、	--random-agent | -r 使用随机User-Agent
131、	
132、	--follow-redirection 如果目标包含一个重定向,则直接跟随跳转
133、	
134、	--batch 无需用户交互,都使用默认行为
135、	
136、	--no-color 不要采用彩色输出
137、	
138、	--wp-content-dir <wp content dirWPScan会去发现wp-content目录,用户可手动指定
139、	
140、	--wp-plugins-dir <wp plugins dir指定wp插件目录,默认是wp-content/plugins
141、	
142、	--proxy <[protocol://]host:port设置一个代理,可以使用HTTP、SOCKS4、SOCKS4A、SOCKS5,如果未设置默认是HTTP协议
143、	
144、	--proxy-auth <username:password设置代理登陆信息
145、	
146、	--basic-auth <username:password设置基础认证信息
147、	
148、	--wordlist | -w <wordlist指定密码字典
149、	
150、	--username | -U <username指定爆破的用户名
151、	
152、	--usernames <path-to-file指定爆破用户名字典
153、	
154、	--threads | -t <number of threads指定多线程
155、	
156、	--cache-ttl <cache-ttl设置 cache TTL
157、	
158、	--request-timeout <request-timeout请求超时时间
159、	
160、	--connect-timeout <connect-timeout连接超时时间
161、	
162、	--max-threads <max-threads最大线程数
163、	
164、	--throttle <milliseconds当线程数设置为1时,设置两个请求之间的间隔
165、	
166、	--help | -h 输出帮助信息
167、	
168、	--verbose | -v 输出Verbose
169、	
170、	--version 输出当前版本