冠富商务通中文社区

 找回密码
 立即注册
查看: 15|回复: 0
打印 上一主题 下一主题
收起左侧

svn信息泄漏探测工具(新手学python) | 阿德马Web安全

[复制链接]
跳转到指定楼层
楼主
发表于 2016-9-1 17:05:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  快放假了,比较闲,写了个svn信息泄漏的探测工具,严格意义上说和wwwscan功能差不多,判断是否存在/.svn/等目录,贴上代码:
#coding:utf-8
import sys
import httplib2
if len(sys.argv)2:
    print 'Usag:'+svnscan.py+ host
    sys.exit()
#判断输入url是否是http开头
if sys.argv[1].startswith('http://'):
    host=sys.argv[1]
  else:
    host=http://+sys.argv[1]
  #访问一个不存在的目录,将返回的status和content-length做为特征
status=''
contentLen=''
http=httplib2.Http()
dirconurl=host+'/nodirinthiswebanx4dm1n/'
dirresponse=http.request(dirconurl,'GET')
status=dirresponse[0].status
contentLen=dirresponse[0].get('content-length')
#字典中保存svn的常见目录,逐个访问和特征status、content-length进行比对
f=open(r'e:\svnpath.txt','r')
pathlist=f.readlines()
def svnscan(subpath):
    for svnpath in pathlist:
        svnurl=host+svnpath.strip('
')
        response=http.request(svnurl,'GET')
        if response[0].status!=status and response[0].get('content-length')!=contentLen:
            print vuln:+svnurl
if __name__=='__main__':
    svnscan(host)
    f.close()
svnpath.txt文件中保存的常见的svn版本控制的目录路径等,借鉴了某大婶的思路,根据返回的状态码、content-length跟一个不存在的目录返回的状态码、content-length进行比对,主要目的是确保判断的准确性,因为有些站点可能会有404提示页等等。
  目前只能想到的是存在svn目录,且权限设置不严格的,所以这个程序应该是不能准确判断是否存在漏洞,只能探测是否存在svn的目录。
  不知道还有其它的办法来确认一个站点是否存在svn目录?目录浏览返回的状态应该也是200?还是有另外的状态码?
  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于我们|申请友链|Archiver|手机版|拘留所|冠富商务通

GMT+8, 2025-5-23 03:29 , Processed in 0.132008 second(s), 12 queries , Wincache On.

Powered by HCMS Version 2.0

© 2008-05-14 guanfu.net.cn

快速回复 返回顶部 返回列表