首页 > 数据库技术 > 详细

sqlilabs15-22关

时间:2020-01-31 18:28:59      阅读:119      评论:0      收藏:0      [点我收藏+]

less-15操作过程

1.进入环境,选择15关之后,使用分号进行测试,直接提示登陆失败,没有报错信息

技术分享图片

 

 2. 添加 ‘ or 1 #看能否登陆成功,登陆成功,但是仍然没有提示任何信息,仅仅告诉你登陆成功

技术分享图片

 

 3.推测属于时间盲注,抓包使用sleep函数来进行测试下,如果输入正确,则sleep,反之,则直接返回结果

技术分享图片

 

 4.推测处闭合方式为’‘,所以继续使用sleep函数来进行操作,爆出我们想要的数据,推测出第一个字符为e,正好符合email

技术分享图片

 

 less-16操作过程

1.操作过程和less15相似,也是先看看能不能找到报错信息,发现并没有,经过推测和测试知道,他的闭合方式为(”“)

技术分享图片

 

 2.使用抓包工具和sleep函数,继续推测当前数据库第一张表的第二个字符,由此可得第二个字符为m

技术分享图片

 

 less-17操作过程

1.17关可以利用报错注入,先来了解两个函数

extractvalue():从目标xml中返回包含所查询的字符串
EXTRACTVALUE(XML_document,XPath_string);
第一个参数:XML_document是string格式,为xml文档对象的名称,中文为Doc
第二个参数:XPath_string(XPath格式的字符串)
UPDATEXML(XML_document,XPath_string,new_value);
第一个参数:XML_document是string格式,为xml文档对象的名称,中文为DOC
第二个参数:XPath_string 是(Xpath格式的字符串)
第三个参数:new_value,string 格式,替换查找到的符合条件的数据

2.根据17关源码可以看出,注入点在password。这样我们就得有一个已知的用户名,

技术分享图片

 

 3.使用函数,updatexml()来进行报错注入,比如来获取下当前数据库的名称,这样就爆出了数据库名称

技术分享图片

 

 4.进一步来获取下表名称

技术分享图片

 

 5.同样我们可以获取表中数据

less-18操作过程


1.经过在网上查找相关资料,找到注入点为user-Agent,之后也是利用报错注入来进行操作。

2.首先使用BP抓包,将抓到的包发送到repeater模块,进行一个重复发包的过程。

3.在user-agent输入一些字符,查看报错信息,推测出它可能不是select语句,可能是属于insert 或者 update,并分析出其闭合方式为(‘’,‘’,‘’)

技术分享图片

 

 4.知道闭合方式后,我们可以使用sql : ‘or updatemxl(1,concat(0x7e,(database())),1)or ‘1‘=‘1来进行查询当前数据库

技术分享图片

 

 5.其他的查询方法类似于之前关卡

less-19操作过程

1.less19关的注入点在Referer处

2.抓包分析,找到闭合方式可以看到,闭合方式为(’‘,’‘)

技术分享图片

 

 3.使用报错注入,爆出当前数据库中的表

技术分享图片

 

 less-20操作过程


cookie注入

cookie注入其原理也和平时的注入一样,只不过说我们是将提交的参数已cookie方式提交了,而一般的注入我们是使用get或者post方式提交,get方式提交就是直接在网址后面加上需要注入的语句,post则是通过表单方式,get和post的不同之处就在于一个我们可以通过IE地址栏处看到我们提交的参数,而另外一个却不能。


1.先登陆,在登陆过程中抓包,在cookie添加’,测试其闭合方式,发现为单引号闭合

技术分享图片

 

 2.接来的操作就和以前一样了,可以使用union查询下表名

技术分享图片

 

sqlilabs15-22关

原文:https://www.cnblogs.com/pangsong/p/12245234.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!