码迷,mamicode.com
首页 > 数据库 > 详细

sqli-labs学习

时间:2018-11-25 20:42:26      阅读:308      评论:0      收藏:0      [点我收藏+]

标签:函数   注意   .com   利用   base   技术   mit   字符串   sele   

学习sqli-labs之前先介绍一些函数,以便于下面的payload看的懂

group_concat函数

将查询出来的多个结果连接成一个字符串结果,用于在一个回显显示多个结果

技术分享图片

同理的还有

concat_ws()

limit star,size用法

start:从第几条记录开始。

size:读取几条记录。

技术分享图片

技术分享图片

 

sqli-lab-1


关键代码

$sql="SELECT * FROM users WHERE id=‘$id‘ LIMIT 0,1";

是被单引号包围,即字符型注入,写payload要末尾注释单引号

技术分享图片

用concat_ws()可以加分隔符,便于判断

技术分享图片

接下来查询当前数据库的表~  //这里有个疑问,上面用的database()只能查询当前的数据库,如果Flag是在别的数据库呢,以后想想~

技术分享图片

 

注意数据库的昵称要用单引号包围,不然会报错,当然也可以把数据库的昵称转换为16进制也是可以的

 

技术分享图片

 

 用limit查找所有的表名

技术分享图片

技术分享图片

显然太麻烦了,因为只返回一个结果 利用之前的group_concat()将结果放在一起返回

技术分享图片

接下来爆字段

技术分享图片

用concat_wa()发现没用,于是用group_concat()

技术分享图片

接下来就是爆字段内容了

paload格式为: select 字段名 from 表名

技术分享图片

如果过滤了union呢,或者是过滤了“-”符号呢 之前参加了南邮CTF的一道sql,过滤了* 还有-  即不能union 注入

接下来利用手工报错注入

 

sqli-labs学习

标签:函数   注意   .com   利用   base   技术   mit   字符串   sele   

原文地址:https://www.cnblogs.com/xyhacker/p/10016523.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!