在开始接触渗透测试开始,最初玩的最多的就是Sql注入,注入神器阿D、明小子、穿山甲等一切工具风靡至今。当初都是以日站为乐趣,从安全法实施后在没有任何授权的情况下,要想练手只能本地环境进行练手,对于sql注入的练习场网上有大把的靶场,我个人比较喜欢sqli-labs这个靶场,关卡有几十个,每一关都有不同的感觉。写这篇文章是个人再练习注入的时候自己总结出来的一部分经验,百度上面也能搜的到相关类似的过关技巧,至于为什么要写这个,这相当于对自己经验的一个总结吧!关于搭建请自行github进行查看,这里我就有不多说了,地址:https://github.com/Audi-1/sqli-labs

废话不在多说  let's go!   开始挑战第一关(Error Based- String)

 访问我们的地址http://localhost:81/sqli-labs-master/Less-1/index.php,然后构造下注入环境,根据页面提示需要加入一个数字参数,直接加入?id=数字或者其他都可以。

这里为了方便查看自己输入的sql语句是带到数据库中是怎么样的,可以在代码中加入 echo "$sql<br>";

老规矩,输入and 1=1 来进行判断,显示正常

继续输入and 1=2来判断,瓦特,既然没有任何的反应

既然这样无效,直接输入单引号看是否会提示报错

很明显出现了错误,这里我们将错误提示拿出来进行分析,从下图中很容易就看出了门道

我们来试着构造下它的sql语句,由于mysql会将你输入的内容带入数据库后强制转换成字符串,所以这样一来我们就可以采用闭合单引号的方式进行注入了

但后面还有个limit 0,1,  直接再采用注释符将后面的内容给干掉,常用的单行注释符有(# , --+),个人比较喜欢#,来吧,开干吧!

输入 ‘  and ‘1’ =‘1闭合后,回显正确

在输入  ‘  and ‘1’ =‘2返回错误

前面已经测试了存在注入,现在就开始使用 order  by 猜解字段数了,这里我就不一一去试了,正确是3个字段数

使用union  select进行联合查询,再加入-号或者and 1=2让其报错

进入下面的操作前,先介绍几个函数:

  (1)version():查看数据库版本

  (2)user():查看当前用户

  (3)database():查看使用的数据库

  (4) limit  :limit子句来分批获取所有数据

  (5)group_concat():一次性获取数据库信息。

查看数据库,版本,当前用户

可以看出数据库版本是5.0,直接爆出所有表名,数据库名转成16进制,这里可以使用小葵转换工具,或者使用火狐的hackbar工具直接转换

接下来获取字段名

获取数据,加入0x5c是为了便于查看

好了,第一关比较简单,有些肯定会有疑惑,为什么要去看information_schema库,tables,table_schema,table_name都是这么来的, 要学习sql注入,你必须先了解数据的结构,建议使用数据库管理工具一查便知,我这里就不多做解释。。。

最新文章

  1. 升级npm
  2. web端功能测试总结(一)
  3. C10K 问题引发的技术变革
  4. C++指针之防不胜防
  5. 一起学习redis源码
  6. Android中空格及换行
  7. Lua学习教程之 可变參数数据打包与解包
  8. web报告工具FineReport在使用方法和解决方案常见错误遇到(一)
  9. 201521123054《JAVA程序设计》第三周学习总结
  10. sublime text 按下Ctrl + B 显示空白的解决办法
  11. Linux 脚本为什么会有#!
  12. 【Common】-NO.122.common.1 - pv、uv、ip,tps、qps、rps术语
  13. LogFilter
  14. 【XShell】xshell评估过期解决办法
  15. 学习笔记: IO操作及序列化
  16. PHPsocket、CURL、File_get_contents采集
  17. 洛谷P4344 [SHOI2015]脑洞治疗仪(ODT)
  18. Linux下FastDFS分布式存储-总结及部署记录
  19. Lambda学习---StreamApi使用
  20. PHP阿里云云解析签名, 通过API 绑定域名到动态 ip

热门文章

  1. Flex中的FusionCharts 3D柱形图
  2. HighCharts中的无主题的2D折线图
  3. Excel 2010高级应用-条状图(五)
  4. Caused by:org.hibernate.HibernateException:Unable to make JDBC Connection
  5. windows驱动程序wdf--KMDF大致框架
  6. linq查询集合并分页展示数据
  7. 优先队列运用 TOJ 4123 Job Scheduling
  8. EF Core下利用Mysql进行数据存储在并发访问下的数据同步问题
  9. PyCharm运行报编码错误
  10. 蒟蒻关于斜率优化DP简单的总结