Quantcast
Channel: 碳基体
Viewing all articles
Browse latest Browse all 75

Proxy探测脚本与HTTP基本认证暴力破解脚本

$
0
0
一、Proxy探测脚本
功能:探测Proxy地址是否可用,速度及代理的隐匿程度
脚本地址:https://github.com/tanjiti/perl_tools/blob/master/isProxyOK.pl
使用方法:
1. 获取帮助

perl isProxyOK.pl --help

2. 判断指定Proxy地址是否可用及连通速度
黄色字体表明代理不可用,红色字体表示代理可用

perl isProxyOK.pl -proxy http://61.158.219.226:8118

Proxy探测脚本与HTTP基本认证暴力破解脚本 - 碳基体 - 碳基体

除了http代理,也支持socks代理

perl isProxyOK.pl -proxy socks://180.153.139.246:8888

Proxy探测脚本与HTTP基本认证暴力破解脚本 - 碳基体 - 碳基体
 
除了探测单个proxy地址,我们也可以批量探测文件中的代理,并将可连通的代理输出到指定文件中以备用

perl isProxyOK.pl -proxy proxy_Scrapebox.txt [-out proxy_20140511_out]


代理文件的格式如下proxy_Scrapebox.txt(代理来自Scrapebox
 Proxy探测脚本与HTTP基本认证暴力破解脚本 - 碳基体 - 碳基体
运行
Proxy探测脚本与HTTP基本认证暴力破解脚本 - 碳基体 - 碳基体
 
运行结束后将可用代理存入文件proxy_Scrapebox.txt_out中,你也可以使用 -out 选项指定输出文件名
Proxy探测脚本与HTTP基本认证暴力破解脚本 - 碳基体 - 碳基体
 
3.判断代理的类型
1)脚本运行的先决条件
启动该功能需要预先在脚本运行环境下搭建web server
本例以在vps下搭建lighttpd 为例,设置lighttpd日志格式及启动server

设置lighttpd的日志格式,主要是要记录X-Forwarded-For 、VIA头部

vim /etc/lighttpd/conf-enabled/10-accesslog.conf

accesslog.format = "%h %V %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{X-Forwarded-For}i\" \"%{VIA}i\""

accesslog.filename = "/var/log/lighttpd/access.log"

具体的日志格式设置可参考《Apache/Nginx/Lighttpd/Tomcat 日志格式 cheatsheet 

2)代理判断的流程
通过指定代理访问web server,然后在web server访问日志中查看VIA,与X_Forwarded_For字段

3)脚本将代理分为三类
(1)High Anonymity Proxy 高度匿名代理:不会在服务器访问日志中留下VIA,与X_Forwarded_For内容
(2)Anonymity Proxy 匿名代理:可隐藏访问者原始IP,VIA中没有实际的访问IP
(3)Transparent Proxy透明代理: 有详细的代理信息及访问者IP,代理IP

4)实例
-proxy: 代理地址 也可以是代理地址文件
-vv: 表示获得代理类型
-url: 你的web server ip或域名
-ip: 你的访问ip
-logpath: web server访问日志路径,默认为/var/log/lighttpd/access.log 
a.透明代理

perl isProxyOK.pl -vv -url http://www.tanjiti.com -ip [web server IP] -proxy http://218.107.217.82:8080

Proxy探测脚本与HTTP基本认证暴力破解脚本 - 碳基体 - 碳基体
 
b.匿名代理

perl isProxyOK.pl -vv -url http://www.tanjiti.com -ip [web server IP] -proxy http://64.34.14.28:7808

Proxy探测脚本与HTTP基本认证暴力破解脚本 - 碳基体 - 碳基体

c.高度匿名代理

perl isProxyOK.pl -vv -url http://www.tanjiti.com -ip [web server IP] -proxy socks://180.153.139.246:8888

Proxy探测脚本与HTTP基本认证暴力破解脚本 - 碳基体 - 碳基体
 
二、HTTP 基本认证暴力破解脚本
 功能:使用字典破解HTTP basic Authentication
脚本地址:https://github.com/tanjiti/perl_tools/blob/master/crackbasicAuth.pl
补充知识:
基本认证实例说明:lighttpd + htpasswd
第一步:htpasswd创建基本认证
在指定路径下生成基本认证文件

htpasswd -c [认证文件路径,使用绝对路径] tanjiti(用户名)

第二步:启用auth模块

lighttpd-enable-mod auth

/etc/init.d/lighttpd force-reload

第三步: 配置auth模块

vim conf-enabled/05-auth.conf

增加
auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "[filepath absolute]"
auth.require = ("[需要采取基本认证的路径,使用相当路径]" => (
    "method" => "basic",
    "realm" => "[基本认证框中的服务器提示]",
    "require" => "user=tanjiti"
))

/etc/init.d/lighttpd force-reload

此时访问该路径的文件,则会要求进行基本认证,否则401
Proxy探测脚本与HTTP基本认证暴力破解脚本 - 碳基体 - 碳基体
实际上服务器是期待客户端发送一个带有帐户信息的Authorization头
Authorization: Basic dGFuaml0aToxMjM=(username:password base64编码)
 
使用方法:
 1.获取帮助

perl crackbasicAuth.pl -h

2. 使用脚本登陆

perl crackbasicAuth.pl -url http://www.tanjiti.com/xxxx/ -username tanjiti -password 123 -vv

选项说明:
-url 需要基本认证的路径
-username 基本认证用户名,可以是字符串,也可以是字符串(字典)文件
-password 基本认证密码,可以是字符串,也可以是字符串(字典)文件
-vv 开启该选项,在终端开启看到详细的HTTP请求头和响应头
-tor 表示使用tor作为代理来访问目标url
-proxy表示使用代理来访问目标url,可以是单个的代理字符串,也可以是代理列表文件(我们可以使用一、Proxy探测脚本介绍的方法来挑选合适的代理列表)
Proxy探测脚本与HTTP基本认证暴力破解脚本 - 碳基体 - 碳基体
 
Proxy探测脚本与HTTP基本认证暴力破解脚本 - 碳基体 - 碳基体
 
使用字典尝试登陆

perl crackbasicAuth.pl -url http://www.tanjiti.com/xxxx/ -username a -password b

Proxy探测脚本与HTTP基本认证暴力破解脚本 - 碳基体 - 碳基体
 
 使用tor(debian/ubuntu 使用apt-get install tor,默认监听端口9050)

perl crackbasicAuth.pl -url http://www.tanjiti.com/xxxx/ -username a -password b -tor


Proxy探测脚本与HTTP基本认证暴力破解脚本 - 碳基体 - 碳基体
 
使用proxy list

perl crackbasicAuth.pl -url http://www.tanjiti.com/xxxx -username a -password b -proxy proxy_Scrapebox.txt_out

Proxy探测脚本与HTTP基本认证暴力破解脚本 - 碳基体 - 碳基体
 
其实基本认证一般会配合ip的访问控制策略(只允许某段IP访问),使用代理隐藏IP,绕过登陆安全限制(例如限制单个IP或单个用户名的访问频率)的意义不大,但可以将理念用于没有ip限制的表单登陆中。

Viewing all articles
Browse latest Browse all 75

Trending Articles