Gun's Blog

攻防世界

Word count: 851Reading time: 3 min
2019/08/27 Share

1.题目地址:http://111.198.29.45:41645/
首先用GET方式提交一个名为a,值为1的变量—>payload:?a=1返回:
再以POST方式提交一个b=2的变量.一开始有点懵,突然回忆起来曾经听过北理嵩天老师的《Python网络爬虫与信息提取》课程,写了一个简单的脚本输出了flag:

1
2
3
4
import requests
value={'b':2}
demo=requests.post("http://111.198.29.45:41645/?a=1",value)
print(demo.text)

GET-POST

2.题目:X老师上课讲了Robots协议,小宁同学却上课打了瞌睡,赶紧来教教小宁Robots协议是什么吧。
之前对robots协议不是理解的很透彻,谷歌查了一下robots协议,上面是这样描述的:
robots协议
瞬间知道第一步应该读取robots.txt里的内容,直接再地址栏后面跟上/robots.txt即可读取该文件里的内容,里面的内容是这样的:
robots.txt
看到这里一开始很迷惑,因为不是.php文件已经disallow了吗?在群里问了大佬,明白这只是一种道德规范(有一种此地无银三百两的意味~)在根目录下直接读取`f1ag_1s_h3re.php文件,即可读到flag

3.题目:X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧!
打开题目地址,看到你知道ndex.php的备份文件吗?有点懵,百度了备份文件,看到一些备份文件的扩展名,输入/index.php.bak试一下,提示下载文件,将源码下载下来之后用sublime Text打开,即可得到flag.

4.题目:X老师告诉小宁其实xff和referer是可以伪造的。
打开网址,看到”ip地址必须为123.123.123.123”,再根据题目的提示”xff referer”必应xff了解到:X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。使用bp抓包,在请求包中添加X-Forwarded-For字段,值为:123.123.123.123,发包,返回一个页面,连接必须来自https://www.google.com,Bing一下Referer:当用户在浏览器上点击一个链接时,会产生一个 HTTP 请求,用于获取新的页面内容,而在该请求的报头中,会包含一个 Referrer,用以指定该请求是从哪个页面跳转页来的,常被用于分析用户来源等信息。但是也有成为用户的一个不安全因素,比如有些网站直接将 sessionid 或是 token 放在地址栏里传递的,会原样不动地当作 Referrer 报头的内容传递给第三方网站。
所以就有了 Referrer Policy,用于过滤 Referrer 报头内容,目前是一个候选标准,不过已经有部分浏览器支持该标准。使用bp添加一个字段为Referer:https://www.google.com发包,则拿到flag.

5.题目:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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;
}
?>

可以看出:这应该是php的弱类型造成的==绕过,我构造的payload是:?a=0s&b=12345s即输出flag.

CATALOG