注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

碳基体

http://weibo.com/tanjiti

 
 
 
 
 

日志

 
 

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

2014-05-12 23:04:07|  分类: web app security |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
一、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)脚本将代理分为三类
(1)High Anonymity Proxy/elite Proxy 高度匿名代理:不会在服务器访问日志中留下VIA,与X_Forwarded_For内容
(2)Anonymity Proxy 匿名代理:可隐藏访问者原始IP,X-Forwarded-For中没有实际的访问IP
(3)Transparent Proxy透明代理: 有详细的代理信息及访问者IP,代理IP

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字段
第一步:使用代理访问 http://www.tanjiti.com/proxy.php ,获得代理相关请求及初步的代理判断

{

  • HTTP_VIAfalse,
  • HTTP_X_FORWARDED_FOR"xxx.xxx.xxx.xxx",
  • HTTP_X_FORWARDED_PROTO"http",
  • REMOTE_ADDR"xxx.xxx.xxx.xxx",
  • HTTP_PROXY_CONNECTIONfalse,
  • PROXY_TYPE"transparent"

}

第二步:
根据访问者真实的ip地址,查看HTTP_X_FORWARDED_FOR头,看是保护在其中,如果不在,则为匿名代理



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

perl isProxyOK.pl -vv -proxy http://218.107.217.82:8080

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

perl isProxyOK.pl -vv -proxy http://64.34.14.28:7808

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

c.高度匿名代理elite

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

Proxy探测脚本与HTTP基本认证暴力破解脚本 - 碳基体 - 碳基体
 
该代理脚本待改善的地方
1. 不支持需要认证的代理服务器
2. 不支持多线程探测

二、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限制的表单登陆中。
  评论这张
 
阅读(3696)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017