bugku ctf刷题1

本文讲述了五个技术挑战:解密签名获取flag、前端拦截与后端游戏数据破解、弱密码攻击与Burp Suite利用、PHP木马与超全局变量利用,以及社工攻击与QQ空间旗子。通过一系列技术细节展示了信息安全攻防的过程。
摘要由CSDN通过智能技术生成

1.alert

ctrl+U查看源代码,在最底下发现了flag迹象,Unicode解码之后得到flag。

2. game1

前端java游戏类题目,我们前端玩游戏的数据,总是要传给后端的,可以拦截数据包,修改数据。

先玩一局游戏,之后打开F12的network可以看见游戏数据。

score.php传输了我们的score得分,ip和sign。

查看源码可知,sign是score经过base64加密的一种形式。但是我们的得分175经过base64 加密后发现是MTc1 ,而现在的sign是ZMMTc1==,所以得知 sign = "zM" + base64(score) + "=="。

之后我们get一个更大的分数99999,其base64编码OTK5OTK= ,将sign值也与其对应。

得到flag。

3. bp

打开网址,已知用户名为admin。看题目提示是弱密码top1000里z开头的,在burp_suite中intruder导入密码字典,攻击发现长度都一样。

通过观察响应包里面的内容,我们发现错误包里面都会返回一个JavaScript代码告知我们的密码有错误,所以我们通过burp_suite的 (grep – match 在响应中找出存在指定的内容的一项。)过滤掉存在JavaScript代码中的{code: 'bugku10000'}的数据包。

发现密码是zxc123. 输入得到flag。

4. shell

看题目的描述

 可以知道,是一句话php木马,assert($_GET['s']).

所以我们在传递s指令,获得系统内有一个flag文件名为flaga15808abee46a1d5.txt。

s=system("cat flaga15808abee46a1d5.txt").得到flag。

5. eval

解析php代码。

题目先通过include包含了"flag.php"文件,后使用@$_REQUEST['hello']来传递参数hello。

var_dump()会将传入的变量打印到页面,eval()会执行传入到其中的php代码,eval("var_dump($a);")就是把$a的内容打印出来.所以我们给hello赋值,执行后会把hello的类型和内容打印出来。

使用file()函数把flag.php的内容存起来传递给hello即可。

6.变量1

 error_reporting(0);  //关闭php错误显示
 include "flag1.php";  //
 highlight_file(__file__);   //将代码更加高亮
 if(isset($_GET['args'])){   //isset()函数,判断get方法传递的args参数是否存在
    $args = $_GET['args']; // 传递参数赋值给变量$args
    if(!preg_match("/^\w+$/",$args)){ /^开始,\w表示任意一个单词字符,a-z,A-Z,0-9.

        die("args error!");  //输出args error!
    }
    eval("var_dump($$args);"); //打印 $($args).
}

eval()函数存在命令执行漏洞 .我们的目标是查看flag1.php中的flag 首先想到的是本地包含漏洞查看源码 ,或者上传一句话木马等思路 。而本题条件判断加了正则表达式判断,过滤了括号和引号等字符。无法构造.但输出时是   $$args

构造 php中超全局变量$GLOBALS  ,PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。

/?args=GLOBALS.

eval("var_dump($$args); 当成代码执行 var_dump($GLOBALS);   

var_dump()函数将$GLOBALS数组中存放的所有变量以数组的方式输出 得到flag!

7.社工-伪造(奇奇怪怪)

随便输入一个自己的QQ号先登录。

然后点开小美的qq空间。

可以看见,他男朋友给他发flag的话才可以得到flag。所以我们假扮成他的男朋友,通过搜索qq号得到头像,把自己qq改成他头像,然后名字改成她给男朋友的备注小bug。之后刷新重新登陆,发flag,得到flag。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值