python3.poc。sqlmapTamperPocsuite

news2024/10/7 2:21:18

目的,掌握工具的api接口,框架工具二次开发

---sqlmap的api接口:https://www.freebuf.com/articles/web/204875.html 

应用:配合前期信息收集的到可能存在注入点的地方,批量化的去扫描

#开发当前项目过程:(利用 sqlmapapi 接口实现批量 URL 注入安全检测)

---1.创建新任务记录任务 ID @get("/task/new")

---2.设置任务 ID 扫描信息 @post("/option/<taskid>/set ")

---3.开始扫描对应 ID 任务 @post("/scan/<taskid>/start")

---4.读取扫描状态判断结果 @get("/scan/<taskid>/status")

---5.如果结束删除 ID 并获取结果 @get("/task/<taskid>/delete")

---6.扫描结果查看@get("/scan/<taskid>/data")

1.创建新任务记录任务 ID @get("/task/new")

---sqlmap相关参数:python sqlmapapi.py -h:-s为api服务端运行

开启api接口

注意是sqlmapapi

之后在python里面去访问,就出现了sqlmapapi的idha

2.设置任务 ID 扫描信息 @post("/option/<taskid>/set ")

因为是json格式,所以导入json模块之后,去taskid的值

#3设置任务id的配置信息(扫描信息)

@post("/option/<taskid>/set "),这里扫sqllab的靶场 

data传入的参数都是以json格式,所以在后面传参进去要用到json方法,

要将post提交的data从python对象编码转换为json对象

构建post要提交的数据,以json的形式构建请求(POST请求需要修改HTTP头中的Content-Type字段为application/json),post提交的键值对为要访问的靶场的url

4.启动对于ip的扫描任务

这就是复制一下上面的改一下就可以

5.获取对应的扫描状态

如果这样写代码的话,就会一直都是在扫描中,而不是结束,因为这个代码运行一次就会创建一个id,运行就是刚在扫描

优化后的完整代码

import requests
import json
import time

def sqlmapapi(url):
    data = {
        'url': url
    }
    # 数据包请求内容,post请求需要修改http头部的Content-Type
    headers = {
        'Content-Type': 'application/json'
    }
    task_now_url = 'http://127.0.0.1:8775/task/new'  # 创建一个id
    sqlmapid = requests.get(task_now_url)
    # print(sqlmapid.json()['taskid'])#获取任务的id号
    task_id = sqlmapid.json()['taskid']
    if 'success' in sqlmapid.content.decode('utf-8'): #判断成功是否在创建这个id后的网页回显数
        print('sqlmapapi id success')
        task_set_url = 'http://127.0.0.1:8775/option/' + task_id + '/set'  # 设置id扫描配置信息
        task_set_resp = requests.post(task_set_url, data=json.dumps(data), headers=headers)
        if 'success' in task_set_resp.content.decode('utf-8'):  #判断成功是否在创建这个id后的网页回显数
            print('sqlmapapi set success')
            task_set_url = 'http://127.0.0.1:8775/scan/' + task_id + '/start'
            task_set_scan = requests.post(task_set_url, data=json.dumps(data), headers=headers)
            if 'success' in task_set_scan.content.decode('utf-8'):
                print('sqlmapapi start success')
                while 1: #一直循环
                    task_set_url = 'http://127.0.0.1:8775/scan/' + task_id + '/status'
                    task_set_tus = requests.get(task_set_url)
                    if 'running' in task_set_tus.content.decode('utf-8'):#判断在测试中就不管
                        pass
                    else: #不是循环之后,把url写道一个文件里面,知道有sql注入
                        task_data_url = 'http://127.0.0.1:8775/scan/' + task_id + '/data'
                        task_data_tus = requests.get(task_data_url)
                        poc = (task_data_tus.content.decode('utf-8'))
                        f = open('sqlurl.txt', 'a')
                        f.write(url + '\n')
                        f.close()
                        break #跳出循环
        time.sleep(0.1)


if __name__ == '__main__':
    for url in open('url.txt'): #循环遍历文本的url
        url.strip()
        sqlmapapi(url)

这个可以结合爬虫,爬取指定url进行联动

Pocsuite3 漏扫框架二次开发 POC/EXP 引入使用

---参考:https://www.freebuf.com/articles/people/162868.html

---下载:https://github.com/knownsec/pocsuite3/releases(注意下python3版本的) 

根据里面的模板,可以添加上自己的poc进去,实现二次开发,自己的漏洞库

jian

kang

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1607457.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【YOLOv5】使用yolov5训练模型时报错合集

文章目录 前言问题1 -- VsCode终端无法进入Anaconda创建的虚拟环境【问题描述】【问题分析】【解决方式】方法一方法二 问题2 -- 怎么在VsCode中为项目配置Anaconda创建的虚拟环境【问题描述】【解决方式】 问题3 -- yolov5训练模型时报错RuntimeError: result type Float cant…

c语言基础总结

1. c语言概述 c语言是计算机编程语言的一种&#xff0c;编程语言用于人和机器交流。 1.1 c语言特点 简洁 ​ c语言的语法简单&#xff0c;语句清晰明了&#xff0c;使得程序易于阅读和理解 高效 ​ c语言的执行效率高&#xff0c;可以用于开发需要高性能的应用程序 可移…

C语言中的控制语句(分支语句 if、switch、三目运算符)

程序执行的三大流程 顺序 : 从上向下&#xff0c; 顺序执行代码分支 : 根据条件判断&#xff0c; 决定执行代码的分支循环 : 让特定代码重复的执行 分支语句 条件语句用来根据不同的条件来执行不同的语句&#xff0c;C语言中常用的条件语句包括if语句和switch语句。 if 语句…

比特币叙事大转向

作者&#xff1a;David Lawant 编译&#xff1a;秦晋 要理比特币解减半动态&#xff0c;最关键的图表是下面这张&#xff0c;而不是价格图表。它显示了自 2012 年以来&#xff0c;矿业总收入与比特币现货交易量的比例&#xff0c;并标注了三个减半日期。 虽然矿工仍然是比特币生…

语音识别ASR背后的原理

现在人机语音交互已经成为我们日常生活的一部分&#xff0c;语音交互更自然&#xff0c;大大的提高了效率。 一、什么是语音识别 文字绝对算是人类最伟大的发明之一&#xff0c;正是因为有了文字&#xff0c;人类的文明成果才得以延续。但是文字只是记录方式&#xff0c;人类…

【C++】C++11右值引用

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 1.什么是左值&&…

npm最新淘宝镜像站已经更新registry(2024-04-19)

1、npm替换地址 旧的 https://registry.npm.taobao.org 已替换为 https://registry.npmmirror.com 淘宝镜像的淘宝官方提供的方法&#xff08;最新的源配置&#xff09; npm config set registry https://registry.npmmirror.com 镜像站网址&#xff1a; npmm…

【Node.js】 fs模块全解析

&#x1f525;【Node.js】 fs模块全解析 &#x1f4e2; 引言 在Node.js开发中&#xff0c;fs模块犹如一把万能钥匙&#xff0c;解锁着整个文件系统的操作。从读取文件、写入文件、检查状态到目录管理&#xff0c;无所不能。接下来&#xff0c;我们将逐一揭开fs模块中最常用的那…

RAID技术

RIAD 什么是RAID 磁盘阵列:利用虚拟化存储技术把多个硬盘组合起来&#xff0c;成为一个或多个硬盘阵列组&#xff0c;目的为提升性能或数据冗余&#xff0c;或是两者同时提升。 简单来说RAID是把多个硬盘组合成为一个逻辑硬盘&#xff0c;因此&#xff0c;操作系统只会把它当作…

若依框架后台管理系统_修改后台管理密码

若依框架后台管理系统_修改后台管理密码 1. 找见加密函数&#xff1a; /*** 生成BCryptPasswordEncoder密码** param password 密码* return 加密字符串*/public static String encryptPassword(String password){BCryptPasswordEncoder passwordEncoder new BCryptPasswordE…

Kubernetes Pod的配置管理 ConfigMap和Secret

目录 前言 一、为什么需要配置管理 二、使用ConfigMap管理Pod的配置信息 2.1 创建ConfigMap&#xff08;4种方式&#xff09; 2.1.1 指定ConfigMap的参数创建 2.1.2 指定配置文件创建ConfigMap 2.1.3 通过一个文件内的多个键值对创建ConfigMap 2.1.4 yaml文件创建Config…

gpt能生成ppt吗

gpt能生成ppt吗 GPT是一个高度通用的工具&#xff0c;适用于多种场景和领域&#xff0c;制作ppt只是它强大功能的冰山一角&#xff0c;具体包括&#xff1a; 信息查询与解释&#xff1a; 提供科学、技术、历史、文化等领域的详细解释和背景信息。 解答疑问&#xff0c;帮助…

达梦数据库一体机树立金融解决方案标杆

达梦数据库一体机自问世以来&#xff0c;获得众多行业用户的高度关注&#xff0c;并率先在金融行业吹响冲锋号角&#xff0c;实现多个重大项目的落地应用。近日&#xff0c;珠海华润银行股份有限公司基于达梦数据库一体机 I 系列的《数据库一体机银行多业务系统集中部署解决方案…

【Java 多线程】Synchronized

Synchronized Synchronized 是Java的一个关键字&#xff0c;它能够将代码块或方法锁起来&#xff0c;是一种互斥锁&#xff0c;一次只能允许一个线程进入被锁住的代码块 如果 Synchronized 修饰的是实例方法&#xff0c;则对应的锁是对象实例如果 Synchronized 修饰的是静态方…

SSL证书在HTTP与HTTPS中的角色差异是什么?

在互联网的广泛应用背景下&#xff0c;随着网络攻击和数据泄露事件频发&#xff0c;保障用户的数据安全已成为至关重要的议题。传统的HTTP协议在传输数据时不进行加密处理&#xff0c;导致数据在传输过程中暴露于潜在的窃听和篡改风险中&#xff0c;安全性薄弱。而通过引入SSL/…

Springboot+Vue项目-基于Java+MySQL的免税商品优选购物商城系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

Linux的图形资源及指令

一、火车 1.切换到超级用户 su 2.下载资源 yum install -y sl 3.输入指令 sl&#xff0c;得到火车图形 如果没有得到该图形&#xff0c;就将2处改为yum install -y epel-release。 二、Linux的logo 1.在超级用户模式下下载资源 yum install -y linux_logo 2.输…

英语日常用语柯桥职场英语学习去哪里?专业语言培训推荐泓畅学校

“摸鱼”的英语表达 职场&#xff0c;总有些看似努力工作的同事&#xff0c;很可能是深藏不漏的“摸鱼圣手”。 但“摸鱼”的英文表达绝对不是“touch fish”这么简单&#xff01;上班摸鱼&#xff0c;就是不好好干活、浪费时间&#xff0c;所以“loaf”这个单词有必要了解一下…

腾讯EdgeOne产品测评体验—更快更强更安全,安全我选EdgeOne

腾讯EdgeOne产品测评体验—更快更强更安全&#xff0c;安全我选EdgeOne 王婆的瓜可甜&#xff1f; 自 23 年 8 月份 EdgeOne 开放订阅套餐后&#xff0c;腾讯云用户使用 EdgeOne 来为自己网站进行加速和防护的站点数量&#xff0c;呈现爆发式增长趋势。 金融服务业受到的 Web…

AI智能边缘分析一体机,32T算力,可同时处理32路1080p高清视频

产品概述 XM-AIBOX-32智能边缘分析一体机是一款高性能、低功耗边缘计算产品。搭载BM1684X主芯片&#xff0c;INT8算力高达32TOPS&#xff0c;FP16/BF16算力高达16TFLOPS&#xff0c;FP32算力高达2TFLOPS&#xff0c;可同时处理32路高清视频&#xff0c;支持32路1080P高清视频硬…