BUUCTF web题笔记

Include

点击tips出现

根据题目名称include1猜测是文件包含漏洞

文件包含漏洞常见的方法有:

1.利用include()等函数,通过构造上传特定文件路径,绕过网站对参数的绕过,进入include函数,即可得到所需函数的源码,本题显然没有与include函数相关的线索

2.php伪协议

①php://input,php://input即获得未经过解析的post参数,此时即可通过构造相应的php文件代码,如一句话木马或system函数查询等方式

 

 

发现网站对php://input协议进行了过滤

②php://filter,该协议可以对数据流进行筛选过滤,可以进行文件的读取

/read=convert.base64-encode/代表将需要读取的文件进行base64转码,只有这样才能查看文件源码,否则看到的将是文件运行后的结果,resource=xxx.php则是表明要查看的文件,可将file=php://filter/read=convert.base64-encode/resource=xxx.php看成是标准格式。将file上传后返回一段被base64加密后的代码,将其解码即可得到flag。

3.file://伪协议 (还不知道咋用,以后碰到题再说。)

Secret File

 

发现下方一条超链接被调成背景色,点进去,发现一个显示secret的按钮,点击后跳转到了end.php,但是查看网页源码时发现

 

说明本来应该跳转至action.php,于是用burpsuite进行抓包截留

发现action文件中有线索,进入该文件查看

代码审计,利用file传参通过include函数得到flag.php文件 

 

发现并没有flag,此时联想上一题include的情况,可能将文件写入了php代码里被执行掉了,再根据secr3t.php的黑名单发现可以利用php://filter

 

获得base64编码

 

得到flag

Upload(极客大挑战)

1.检测后缀名,可改为php3,php4,php5,phtml

2.检测Content-Type,利用burpsuite将参数改变(image/jpeg)

3.检测文件文本有无<?,将文件改为script形式

4.有无文件头,添加GIF89a

Upload(ACTF2020)

  1. js过滤,将一句话文件格式改为jpg即可
  2. 服务端后缀过滤,php后缀将被过滤,改为phtml即可

Http(极客大挑战2019)

先使用burpsuite查看网站目录下文件,发现Secret.php

本题主要考查http头相关知识

Referer:可告诉目标网页访问者是从哪个界面链接过来的

User-Agent:发送请求的浏览器类型、操作系统等信息

X-Forwarded-For:表示请求端的ip

 

[GXYCCTF2019]Ping Ping Ping

即命令/代码执行漏洞:

当网站提供ping功能时,可以在输入ping语句参数的同时拼接其他语句

管道符:Windows系统:①|,直接执行后面语句 ②||,若前面语句为假则执行后面语句

③&,若前面语句为假直接执行后面,为真执行前面后执行后面 ④&&,若前面为假则不执行后面

Linux比Windows多一个’;’,执行完前面的执行后面

因此输入?ip=127.0.0.1;ls,显示flag文件就在当前目录下

 再输入127.0.0.1;cat flag,发现空格被过滤了

下面介绍绕过空格的几种方式

$IFS;${IFS};$IFS$1;<;<>;{cat,flag.php};%20;%09

输入$IFS时发现flag被过滤

于是进入index.php文件看看有没有线索

 

preg_match("/.*f.*l.*a.*g.*/", $ip)即检测是否有这四个字母按该顺序出现过

法一:通过设定变量实现字符串拼接

/?ip=127.0.0.1;b=ag;a=fl;cat$IFS$1$a$b.php

法二:通过执行sh命令

/?ip=127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh

因为题目将bash过滤,sh也是Linux中的shell命令,bash是sh的升级版,在此题我们也可以利用sh,先将flag.php base64编码绕过过滤,后再通过sh命令将其解码即可

法三:内联执行

/?ip=127.0.0.1;cat$IFS$9`ls`

反引号内命令的输出作为执行

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值