攻防世界新手区部分web wp 2

1.baby_web

2.inget

3.easyupload

4.fileinclude

5.fileclude

1.baby_web
打开靶机,
在这里插入图片描述
也没啥提示,但是我们可以看到网页的url地址被锁定到了1.php这个页面。再加上题目的描述我们可以知道要找他的原始页面。我们用burp suit 抓包。
发送到Repeater界面后,可以看到get请求后面有一个1.php
在这里插入图片描述
我们把这个1.php给删掉,然后点击send。
在这里插入图片描述
就可以看到flag了。
2.inget
打开靶机
在这里插入图片描述
它说请输入id,并尝试绕过。
一般来说传id的话都是get请求。id一般也是登录用的,所以应该是一个SQL
注入。我们用万能密码试一下
在这里插入图片描述
OK出来了。当然sqlmap也行,不过要麻烦一些。
3.easyupload
打开靶机

在这里插入图片描述

可以看出这是一个文件包含漏洞。要上传的是一个图片。那我们就写一个一句话木马,然后把文件后缀名改为.jpg。(这是我写的一句话木马 <?=eval($_POST['cmd']);?> )
我们上传一下试试。
在这里插入图片描述
不行,应该是网站会检索文件头,我们得在文件中加入一个图片的文件头,这里我们加入gif的文件头GIF89a(反正我试过了,png的文件头不行,至少是我不行)。
在这里插入图片描述
再把图片改为.jpg再上传
在这里插入图片描述
根据左边的提示可以得知上传成功。
这里介绍一下.user.ini文件。我们可以借助.user.ini轻松让所有php文件都“自动”包含某个文件,而这个文件可以是一个正常php文件,也可以是一个包含一句话的webshell。详情可参考转载自官方wp
只要是运用了fastcgi的服务器都可以用这个方法getshell。
(判断网站是否使用了fastcgi:
1. 通过查看网站的HTTP响应头,检查是否包含FastCGI信息,如果包含则表明网站使用了FastCGI技术。

                                                      2. 通过在网站根目录下查找fastcgi.conf文件,如果存在则表明网站使用了FastCGI技术。

                                                       3. 通过查看网站的服务器日志,检查是否有FastCGI请求,如果有则表明网站使用了FastCGI技术)

所以,我们可以先新建一个文本文档,在里面写入auto_prepend_file=a.jpg。auto_prepend_file 表示在php程序加载应用程序前加载指定的php文件。在一个.user.ini中写下这句话,就能让服务中的.php文件包含我们上传的a.jpg里面的内容并执行。我们把文本文档前端加上GIF89a再重命名为.jpg。然后上传。
在这里插入图片描述
可以看到已经上传成功了。
我们再打开burp suite抓包。

在这里插入图片描述
可以看到filename中是我们上传的文件名,我们改为.user,ini。就实现了上传一个.user.ini文件。我们后来上传的包含木马的图片就会被它的命令给写入网站中的php文件中。更改后就是
在这里插入图片描述
注意我画住的第二行的:Content-Type: image/jpg
如果你的是:Content-Type: application/octet-stream 修改成Content-Type: image/jpg就行了(我看别人的wp有反应这个的,反正我的直接就是Content-Type: image/jpg)
然后放包
在这里插入图片描述
可以看到更改成功了。我们再上传包含一句话木马的图片。
在这里插入图片描述
这里还可以看到路径但是这个路径不对,我们按F12打开控制台。
在这里插入图片描述
在网络那一栏里可以看到真正的路径。
我们打开蚁剑,添加数据。
在这里插入图片描述
url地址哪里填写文件路径,密码是你一句话木马中这个位置的字母
在这里插入图片描述

在这里插入图片描述
连接成功后点击添加数据。
在这里插入图片描述
双击打开
在这里插入图片描述
左边点击 / 哪里,右边向下滑就可以看到flag。
4.fileinclude
打开靶机
请添加图片描述
可以看到index.php的路径,还提示我们有一个flag.php。那我们可以猜测到flag.php.也在路径 /var/www/html/下.我们右键查看网页源代码。
在这里插入图片描述
可以看到include及包含了一个$lan还有就是拼接了一个.php。而lan的值是用cookie传的language的值。所以我们可以对language进行赋值来读取flag.php
读取flag.php我们可以用filter伪协议进行读取。
(php://filter经常使用的伪协议,一般用于任意文件读取,有时也可以用于getshell)
fliter伪协议可以读取不能直接访问的.php文件例如本题。格式为:
php://filter/read=convert.base64-encode/resource=[文件名]
详情可见
传cookie我们有两种方法,1是Burpsuit抓包,2是用浏览器插件Hackbar直接传。方便起见,我们用方法2。如图所示
请添加图片描述
最后点击Execute就可以看到base64编码后的flag了。注意我们构造的 language=php://filter/read=convert.base64encode/resource=/var/www/html/flag注意最后是flag而不是flag.php因为前面说过了会进行一个.php的拼接。
5.fileclude
打开靶机
在这里插入图片描述
可以看到还是一道文件包含题。大概意思就是以get请求上传file1和file2,file1和file2都不为空。其中file1在include函数中,file2在file_get_contents函数中并且file2的值为hello ctf。file_get_contents() 把整个文件读入一个字符串中。这个函数可以通过input伪协议绕过。而读取flag.php还是用filter伪伪协议。
介绍一下input:php://input是个可以访问请求的原始数据的只读流,将post请求中的数据作为PHP代码执行。php使用input读取post请求体的内容。
因为input读取的是post请求,所以file2的值我们应该用post请求来传。
构造payload为:?file1=php://filter/read=convert.base64-encode/resource=flag.php&file2=php://input
我们先把payload放入url栏中访问,然后再用burp suit抓包。

在这里插入图片描述
这样我们就来到了repeater界面,点击send。然后构造一个
Referer:?file1=php://filter/read=convert.base64-encode/resource=flag.php&file2=php://input
然后在下面写入我们的post请求(hello ctf)再点击send就行了。
在这里插入图片描述
这样我们就得到了base64编码之后的flag了,然后解码就出来了。

给大家分享一下最近的战绩啊,也是特别的好看。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重点是姜子牙那把,也是虐了一个金标关羽。
在这里插入图片描述
这是那个关羽
在这里插入图片描述
在这里插入图片描述
挺有成就感的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值