渗透测试中利用Python实现自动化案例分享-自动提取靶机网页特定内容

渗透测试中利用Python实现自动化案例分享-自动提取靶机网页特定内容

靶机信息

靶机名称:Vulnhub:Samsara

靶机地址:

https://www.vulnhub.com/entry/samsara-1,643/

场景描述

在Kali Linux利用浏览器发现访问url有一定规律,即增加数字,返回的信息不同:

http://192.168.56.254/1-index.html

如:2-index.html, 3-index.html......将返回不同的信息

此时当然可以用人工的方式逐个访问,直到URL不存在为止,但是这种方式效率较低,也容易出错,可以用Python代码来自动化该过程。

Python代码实现

import requests
import sys
import re


def retrieve(url):
    # 下载网页函数,参数为url

    try:
        response = requests.get(url)
        if response.status_code == 200:
            # 当返回响应状态码为200,表明该URL存在,因此返回页面的内容
            return response.text
        else:
            # 当返回响应状态码为其他码时,比如400等,表明该URL不存在
            return False
    except Exception as e:
        print("Something is wrong: %s" % e)
        sys.exit()

def extract_chr(content):
    # 利用正则表达式对页面内容提权特定信息

    pattern = r'<h2>I am\s+(.*)\s+</h2>'
    result = re.findall(pattern,content)
    if len(result) > 0:
        
        return result[0]
   
def main():
    text = ""
    i = 1
    while True:
        url = 'http://192.168.56.254/%d-index.html' % i
        response = retrieve(url)
        if not response:
            #表明无需再递增i了,可以退出循环 
            break
        
        if response:
            text = text + extract_chr(response)        

        i = i+1
    print(text)

if __name__ == '__main__':
    main()







运行结果:

──(kali㉿kali)-[~/Vulnhub/So_simple]
└─$ python extract.py
Soyouareheretoknowhisname.Sorry,Idon'tknowhisnamebutIhaveamessageforyou:@UX=h@rGmh/otH<F(')t/n8g:

posted @ 2023-03-13 23:04  Jason_huawen  阅读(93)  评论(0编辑  收藏  举报