跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

精选回复

发布于

之前一直想抓whatweb的接口。但是明明写的没有毛病,就是抓不了今天不死心的在写了一次。发现了问题的所在

u=453413076,2870052388&fm=27&gp=0.jpg

正文:

什么是whatweb?

什么是WhatWeb?
WhatWeb识别网站。它的目标是回答“这是什么网站?”的问题。WhatWeb可识别Web技术,包括内容管理系统(CMS),博客平台,统计/分析包,JavaScript库,Web服务器和嵌入式设备。WhatWeb拥有超过1700个插件,每个插件都能识别不同的东西。WhatWeb还标识版本号,电子邮件地址,帐户ID,Web框架模块,SQL错误等。

WhatWeb可以隐秘,快速,或彻底但缓慢。WhatWeb支持攻击级别来控制速度和可靠性之间的权衡。当您在浏览器中访问网站时,该交易包含许多关于Web技术为该网站提供支持的提示。有时,单个网页访问包含足够的信息来识别网站,但如果没有,WhatWeb可以进一步询问网站。默认的攻击级别称为“隐身”,速度最快,只需要一个网站的HTTP请求。这适用于扫描公共网站。开发了更积极的模式用于渗透测试。

大多数WhatWeb插件都是彻底的,并且可以识别从微妙到显而易见的一系列线索。例如,大多数WordPress网站可以通过元HTML标签识别,例如'',但少数WordPress网站删除了这个识别标签,但这并不妨碍WhatWeb。WordPress WhatWeb插件有超过15个测试,包括检查favicon,默认安装文件,登录页面,以及检查相对链接中的“/ wp-content /”。

 

whatweb在线检测地址:
https://www.whatweb.net/

基本操作抓包:

HVLhIyA.png

从图中可以看见请求参数为target
然后正常的写一个headers,然后用requests进行post请求应该就是这样吧= =很遗憾的是,这样子什么也不会返回。后来我看了一下控制台才发现原因。

Q7prpQN.png

图中的意思是,没有ConsoleContent-length头拒绝进行识别,后面抱着半信半疑的进行了测试发现居然可以了
代码:

#-*-coding:'utf-8'-*-
#name:九世
#time:2018-8-8-20:58
import requests
from bs4 import BeautifulSoup

def whatweb():
    banner=''' ____  __.__.__  .__                
|    |/ _|__|  | |  |  __ _______   
|      < |  |  | |  | |  |  \__  \  
|    |  \|  |  |_|  |_|  |  // __ \_
|____|__ \__|____/____/____/(____  /
        \/                       \/ '''
    print(banner)
    user=input('Domain name to be querying:')
    headers={'user-agent':'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36',
             'Content-length':'20',
             'Connection':'keep-alive'}

    data={'target': '{}'.format(user)}
    url='https://www.whatweb.net/'
    reqts=requests.post(url=url,headers=headers,data=data)
    dw=BeautifulSoup(reqts.text,'html.parser')
    for p in dw.find_all('pre'):
        print(p.get_text())

def jy2():
    banner = ''' ____  __.__.__  .__                
    |    |/ _|__|  | |  |  __ _______   
    |      < |  |  | |  | |  |  \__  \  
    |    |  \|  |  |_|  |_|  |  // __ \_
    |____|__ \__|____/____/____/(____  /
            \/                       \/ '''
    print(banner)
    user = input('file:')
    dk=open('{}'.format(user),'r')
    for r in dk.readlines():
        qc="".join(r.split('\n'))
        headers = {
            'user-agent': 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36',
            'Content-length': '20',
            'Connection': 'keep-alive'}

        data = {'target': '{}'.format(qc)}
        url = 'https://www.whatweb.net/'
        reqts = requests.post(url=url, headers=headers, data=data)
        dw = BeautifulSoup(reqts.text, 'html.parser')
        for p in dw.find_all('pre'):
            print(p.get_text())

print('[1] 单个域名')
print('[2] 批量导入')
xw=input('xz=>:')
if xw=='1':
    whatweb()
elif xw=='2':
    jy2()

 

两个功能,一个单检测,一个批量导入进行检测。
测试图如下:

xZyzBvT.png

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。