| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> get基于报错的sql注入 -> 正文阅读 |
|
[网络协议]get基于报错的sql注入 |
?目录 1.SQL注入的分类根据注入为数据类型可将sql注入分为数字型和字符型。 数字型例如
字符型例如
2.get基于报错的sql注入发现通过在url中修改对应的id值,为正常数字、打数字、字符(单引号、双引号、双单引号、括号)、反斜杠 \ 来探测url中是否存在注入点。 那么我们可以利用sqllilabs的less1到3题来看看 get基于报错的sql注入 然后我们输入5 ?输入10 10也有,那我们输入15 ?发现15没有,那我们输入14 发现,14有, 测这种有多少的方法很简单,可以按1,5,10,15这样叠加上去,如果遇到没有的,那就与上一个数取半来继续?, 比如 输入10有,15没有,那就输入13,如果十三有可以试试14。 那么在14后门加个单引号 报错,存在注入点,好吧。 sql语句的话可以是
?这个admin的表不一定是存在的,这里只是假设有这个表。 看看第二个 加上单引号一样报错, sql语句为
?可以看出id加不加单引号括起来是看 limit0,1那里的,这就是字符串和数字类型了 看到第三题 发现有俩个单引号还有一个单括号,那么sql语句可以为
?然后试试
来闭合、注释,发现过了 ?其实不用+号 加上%20也是可以的,也就是空格 3.get基于报错的sql注入利用1.利用order by 判断字段数。测试5和4时都报错,显示?Unknown column '4' in 'order clause'?发现3是对的,那么我们可以得出当前内容有三个字段, 2.利用union select 联合查询,获取表名。
然后 这里改成0,然后显示的是,用的是第二个字段的name,第三个字段的password。 那么我们可以改一下 ? 一个显示它的版本,一个显示他的数据库? 那么我们就可以用上面的语句来测试, 3.利用union select联合查询,获取字段名。
4.利用union select 联合查询,获取字段值。
那么这里就获取出来了当前数据库中所有的name和password。 4.利用sqlmap测试用sqlmap对漏洞进行漏洞探测:
可以看到这有七个数据库。然后我们要看看security这个数据库
? 然后看users这个表
? 然后把它们显示出来
? ?搞完! |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 21:01:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |