XCTF WEB入门 06-10
06-weak_auth
打开场景可以看到一个登陆界面,我们首先随便尝试一组账号密码


对话框提示我们以admin为用户名登录,至此我们确定了用户名为admin

查看代码发现可能需要用到字典爆破密码

加载字典后开始爆破

可以看到按照长度排序后发现有返回长度不同的响应,打开响应包找到flag。
07-simple_php
第七题场景给出了这样一段代码,
<?php
show_source(__FILE__);
include("config.php");
$a=@$_GET['a'];
$b=@$_GET['b'];
if($a==0 and $a){
echo $flag1;
}
if(is_numeric($b)){
exit();
}
if($b>1234){
echo $flag2;
}
?>
分析这段代码,首先包含了config.php文件,其次用GET传参得到a,b。
然后进行if条件判断,观察条件有两个,将a变量和0作弱类型比较以及判断变量a是否为空,如果满足输出flag1。
接着对b进行条件判断,条件中有is_numeric()函数,该函数用于判断变量是否为数字或数字字符串,如果是退出程序。
继续判断b变量的值是否大于1234,如果是,输出flag2。
因此我们对a,b分别进行get传参,令a=0,b为>1234且不为数字字符串的值,得到flag。

08-get_post
第八题题面为我们知道http的两种请求方法是什么,肯定是get传参和post传参,之前的blog中提到过get与post的区别get传参是在url中直接请求,会显示在url中,而post传参需要用到hackbar中的post data,不会显示在url中,且不限制发送信息的量。


得到flag。
09-xff_referer
第九题题面告诉我们ip地址必须为123.123.123.123,我们搜索xff和referer发现,可以使用xff和referer来伪造ip得到flag。
XFF
X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。通俗来说,就是浏览器访问网站的IP。一般格式为
X-Forwarded-For: client1, proxy1, proxy2, proxy3
左边第一个是浏览器IP,依次往右为第一个代理服务器IP,第二个,第三个(使用逗号+空格进行分割),目前只用到第一个。
Referer
Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器 籍此可以获得一些信息用于处理。一般通过某一网页跳转到另一网页时会产生Referer,如果直接输入url访问网页则不会产生Referer,因为这个请求不是由链接触发产生的,是一个凭空产生的HTTP请求,此时称为空Referer。
伪造方式
1:通过firefox插件x-forwarded-for直接改造
2:用burp抓包,发送到repeater模块进行增加,修改,方法是直接在Raw后添加XFF语句和Referer语句,然后Go运行。
还不知道xff插件是什么东西,先使用bp抓包,然后添加xff语句。

Go运行发现Response出现了一行新的代码,告诉我们必须来自 https://www.google.com ,说明这个访问有了来源,联想到referer,所以添加Referer语句。

Go运行发现得到flag。
10-webshell
题目考查到了webshell,webshell是web的一个管理工具,可以对web服务器进行操作的权限,webshell的功能比较强大,可以上传下载文件,查看数据库,甚至可以调用一些服务器上系统的相关命令(比如增加用户,对数据进行增删改查)。webshell根据脚本可以分为PHP脚本木马,ASP脚本木马,也有基于.NET的脚本木马和JSP脚本木马。根据功能木马也分为大马与小马,小马通常指的一句话木马,此题题面给出额就是一句话木马。




浙公网安备 33010602011771号