SQL漏洞--简介及数字型注入、字符型注入等多项测试
数据库注入漏洞主要指开发人员在构建代码时,没有对输入边界进行安全考虑,导致攻击者可以通过合法的输入点提交一些精心构造的语句,从而欺骗后台数据库对其进行执行,导致数据库信息泄露的一种漏洞。
一、数字型注入:
通过pikachu搭建的靶场进行SQL数字型注入测试:
一、 数字型注入的攻击原理如下:
1.从网页端可以看到,通过输入user_id值后,提交到服务器,服务器中的程序代码通过网页端发送的信息通过程序语句,搜索数据库中的数据:
以上就是数字型注入的过程。
二、字符型注入:
1.在pikachu靶场打开sql字符型注入界面,可以看到字符型注入有一个查询的文本框,此时可以通过这个网页测试这个页面是否存在sql注入漏洞,在文本框输入'单引号,点击查询,可以看到网页有响应,推测这个界面存在sql注入漏洞:
2.此时可以设想网页的代码端变量带入形式未进行过滤,猜测代码端变量如以下形式,可以猜测构建数据值指令;
3.构建的数据库语句xxx' or 1=1#这个语句,单引号前面的内容为变量代码段username == ‘$username’ 的后半段,而or 1=1 是数据库查询所有语句的意思,#代表注释后面的内容,为句子结尾。通过内容输入,在网页端可以看到一下内容遍历了数据库所有用户名。
三、搜索型注入:
1.搜索型注入和文本注入差不多,通过模糊匹配的方式对数据库内容进行搜索,可以进一步加深对sql注入的理解,先从代码端进行了解
2.通过搜索型变量进行构建,形成数据库语句的闭合:
四、XXX型注入:
1.先从代码端看XX型注入的代码端程序是如何编写的:
2.对XX型注入进行构造:
3.在实际进行渗透测试的时候,往往是看不到代码的,这时候就需要通过自身的经验进行多次尝试,对简单的注入进行一些判断。
以上对不同类型的注入记录,核心是为了数据库可执行语句的闭合,猜想后端的sql语句是怎么进行拼接的,想尽办法去构造一个可执行的sql,让后台的数据库去执行。
视频内容可以查看哔哩哔哩上该博主的视频讲解:
https://www.bilibili.com/video/BV1Bp4y1q7XF?p=24&vd_source=dff7301b3276675eb7bbed4276c7c5d1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!