BugKu.Web

1.web2

F12直接找到

2.计算器

准备输入答案时发现只能输入一位,检查源码

将maxlength的值修改一下再输入就好了

BugKu.Web_第1张图片


3.web基础$_GET

用get方法传入what的值

BugKu.Web_第2张图片


4.web基础$_POST

和第三道很像,使用post方法传递值。不过没有输入框,我是用的火狐浏览器中的hackbar插件直接输入


BugKu.Web_第3张图片


5.矛盾

$num=$_GET['num'];

if(!is_numeric($num))

{

echo $num;

if($num==1)

echo 'flag{**********}';

}

输入的num既不能是数字,还要等于1。变量num是直接接入条件的,故可以构建多条件,来成立判断。

payload:?num=1=


6.web3

进去之后发现一直在弹窗,查看源码时发现


复制下来用unicode解码得到flag


7.域名解析

刚开始看到这句话的时候一直修改flag.baidu.com但是发现一直不对,然后突然想到,如果反过来呢?

首先输入123.206.87.240,然后burpsuite抓包,将host修改成flag.baidu.com得到flag

8.你必须让他停下

这一道题好皮,一直在跳转,源码都没办法看,但是幸好有开着F12的习惯,看看我发现了什么?


BugKu.Web_第4张图片

一闪而过的页面中有着flag,我用截图把每个页面都截了之后找到的,最好用burp一个一个抓包(;´д`)

本地包含

这个题打开之后服务器出错,修好之前应该是不能写了,就不算这一题了。

9.变量1


BugKu.Web_第5张图片

代码审计,看最后一行代码:

eval("var_dump($$args);");

有了两个$$的可变变量,所以payload:?args=GLOBALS  ,最后会解析全局变量GLOBALS将数值全部爆了出来

10.web5

可以从源码的head中发现这些玩意儿

一堆括号和符号。由题目可以知道这是jsp(Java Server Pages)加密的,直接放到Firefox的控制台中

11.头等舱

看题目就知道是在消息头里面,然而找了几遍竟然没找到,后来用burp抓包发现


BugKu.Web_第6张图片

12.网站被黑

进去之后可以发现是一个黑页,黑页大部分是静态的网页。然后用御剑扫描后发现一个网址

BugKu.Web_第7张图片

之后用burp暴力破解,发现密码为hack

BugKu.Web_第8张图片

13.管理员系统

先随便输入一个用户名和密码发现

然后想到可以通过XXF伪造一个ip地址,X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。通俗来说,就是浏览器访问网站的IP。

伪造一个IP之后发现还是没什么用,于是又去翻源码,发现最后一行有点东西

base64编码,解密之后是test123,这个会不会是密码?

Note:username和password与数据包之间要有一行空格隔开,否则服务器不解析!!!


BugKu.Web_第9张图片

14.Web4

进去之后它说让看源码


将这些东西进行url解码之后得到

所以将两端代码拼接起来就好了。(不要忘了在中间加上54aa2!不过感觉应该是少了个+号 ( ̄▽ ̄) )。

payload:输入67d709b2b54aa2aa648cf6e87a7114f1

15.flag在index里

进去之后发现一句话,点击发现下一个网址是这样的

然后想到这应该是一个文件包含类型的漏洞,

payload:php://filter/read=convert.base64-encode/resource=index.php

php://是一种封装协议,参考:https://www.php.net/manual/zh/wrappers.php.php

这个payload可以通过伪造协议来查看源码,将得到的字符串进行解码后得到

16.输入密码查看flag

这个进去之后发现

BugKu.Web_第10张图片

五位数字,不如用burp暴力破解试下?

密码:13579

17.点击一百万次

先看源码,

BugKu.Web_第11张图片

name是clicks,用post传递,于是

BugKu.Web_第12张图片

18.备份是个好习惯

进去后只发现了一堆字符串,观察了一会还发现了它其实是一段字符出现了两遍,但是拿去解码却不行。

再回头看题目:备份是个好习惯,那我们把index.php备份一下试试,

url:123.206.87.240:8002/web16/index.php.bak

然后把得到的文件转换成txt格式可以看到源码

BugKu.Web_第13张图片

key被替换成空了,不过我们可以用双写绕过去。之后只需要解决key1==key2但是又不相等的问题。

这里需要知道,md5中PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0e”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0e”开头的,那么PHP将会认为他们相同,都是0。所以只需要找到两个md5是0e开头的就行。

0e开头小结:https://blog.csdn.net/fengzhantian/article/details/80490629?utm_source=blogxgwz2

payload:http://123.206.87.240:8002/web16/index.php?kekeyy1=s155964671a&kekeyy2=s878926199a

最后得到flag:Bugku{OH_YOU_FIND_MY_MOMY}

19.学生成绩查询

看见这个输入框第一反应就是sql注入,用单引号试了一下,没错,就是sql注入了。

BugKu.Web_第14张图片

之后可以用联合查询直接查询出来。


BugKu.Web_第15张图片

当然,使用sqlmap跑也行

BugKu.Web_第16张图片

20.秋名山老司机

这一关.......考的是python,两秒内算出答案然后再提交,只能写脚本了,然而因为现在还没学会python,等到能写脚本的时候再补吧。。。。。

你可能感兴趣的:(BugKu.Web)