经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 其他 » 网络安全 » 查看文章
sqli-labs学习
来源:cnblogs  作者:可乐'  时间:2018/11/25 19:56:45  对本文有异议

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

group_concat函数

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

同理的还有

concat_ws()

limit star,size用法

start:从第几条记录开始。

size:读取几条记录。

 

sqli-lab-1


关键代码

  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 注入

接下来利用手工报错注入

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号