Bugku:web 求getshell

94 篇文章 2 订阅
32 篇文章 2 订阅

打开这道题,getshell表示的是get shell,shell则为脚本的意思。

打开链接。

 

 

发现是一个网页可以上传文件,那么就是文件上传漏洞。

 

源代码也是不出所料的没有任何东西。

 

看来是真的要上传一个文件了,试了一下上传一个jpg格式文件,成功!!不过没有用啊,什么东西都没有显示出来。

 

查了一下资料:

webshell就是以php、jsp等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。

 

getshell目的是将脚本文件上传到服务器,并让服务器解析。脚本文件可以是asp、php、jsp等。

 

所以说这种虽然按照要求上传了相应格式的文件,但是并不能破解这个题目。这个题目必须使用上传php脚本的方法去绕过检测,才能看到flag。【我是这么理解的】

 

 

按照网上的提示,深刻剖析一下这道题的细节。

 

  1. 抓包,这里抓包的意义在于要直接修改上传文件的格式以绕过检测,所以用其他的POST那种命令方式是做不到的。

 

2. 抓包之后发现在其中有一条

Content-Type : application/octet-stream表示的是以octet(八进制)流的形式传输,所以这里不论传上去什么图片文件,都会被解析称octet数据流,就不符合题目提示。这里需要改成image/jpg格式或者其他任意image格式,什么jpeg,png都行

 

 

3.头部Content-Type

因为改好之后Send,发现没有用。继续查看别人的WP,发现这里头部也是需要修改的。

multipart/form-data:将表单数据处理为一条消息,也可以上传文件。

这里网上写的需要绕过,将其中的字母变成大写就可以绕过了。

 

主要是绕过服务端的校验请求头

 

4.最后黑名单校验

Send之后还是没有反应,就是这里filename部分需要写一个文件加后缀。这里随便写一个文件名,后缀写php,php2,php3,php4都不行,说明有黑名单校验。最后使用了php5可以绕过检验,完成题目。

 

 

后缀名检测后缀黑名单检测:找查blacklist(黑名单列表)的漏网之鱼,例如

  • 大小写:如果检测的时候不忽略大小写,那么可以改变后缀名的大小写绕过

  • 扩展名:列表中如果忽略了某些后缀

  1. 能被解析的文件扩展名列表:

  2. jsp jspx jspf

  3. asp asa cer aspx

  4. php php php3 php4 pht

  5. exe exee

 

 

得到flag

KEY{bb35dc123820e}

来吧,关注我一下,大家一起学习网络安全,共同进步~~

更新频率挺高哦!!实打实原创!!

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酥酥糖学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值