XSSer是个好工具

xsser

XSSer是一款GPLv3的自动化XSS检测工具, 纯python写就, 大约60个参数, 学习一下.

xsser [OPTIONS] [-u |-i |-d ]
[-g |-p |-c ]
[Request(s)] [Vector(s)] [Bypasser(s)]
[Technique(s)] [Final Injection(s)]

常规参数

[Options]

--version 显示版本号
-h, --help 显示帮助信息
-s, --statistics 显示高级的统计输出结果
-v, --verbose 啰嗦模式, 测试时可以看到详细的输出信息
--gtk 启动基于GTK的GUI

继续阅读

浅谈自用WordPress的安全定制

wp

个人在使用WordPress时往往没有企业那么规范系统的安全措施, 往往是wget下来解压以后一扔就开始运行了. 个人能够利用的资源有限, 虚拟主机甚至VPS上放个驱动级的东西在那轮询文件和数据库在今天看来即使可为, 也是不现实的. 对于个人来说, 被拿个shell其实没什么大不了的, 只能从另一个方面证明你的价值, 但如果你没有bt到每种在线服务都使用不同的密码, 那么密码的丢失就显得不那么好玩了; 对于生产环境, 两者都很不好玩. 表面上, WP是很安全的, 但在某些方面, 还是不那么让人放心. 这里主要从WordPress的设计上, 简单总结一下加固自用WordPress的几点基本想法. 不妨认为和WP有关的安全隐患主要在三方面:

  • webshell问题
  • 文章数据的安全
  • 个人信息的安全

三方面的确有一定的相关, 但又各有特点. 这里不做细分, 仅仅从几个具体的防御角度展开.

不被拿webshell, 基本上仰仗于WordPress自身的安全性, 但作为个人用户, 从源代码上彻底审计和加固整个WP是几乎不可能的事情, 估计只能做到勤升级了. 这年头0day也是需要产生经济利益的, 所以如果你没有很高的商业价值, 那么应该不会怎么为未公开的漏洞所扰. 由于翻译问题, WP中文版的发布总是有一定延时, 所以最好使用英文版. 其次, 将后台有利于写入webshell的功能彻底移除, 例如在线上传/在线安装插件的功能, 在线修改主题文件的功能, 都为直接写入webshell提供了可能. 第三, 尽量少装插件——虽然对于WP来说插件意味着几乎一切. 最小的服务等于最大的安全, 这话很实在. 即使用插件, 也尽量不要用冷门的, 更新频率、rating很低的插件. 对于已经安装的插件和主题, 尽量审计所有代码.

写到这里, 不得不吐槽WordPress一个十分坑爹的地方, 那就是wp-admin这个目录的名字很难修改. 程序里硬编码的地方实在太多 ... 即使你以暴制暴, 强制涂改掉所有wp-admin字样, 一升级还得重新改, 官方还不提供增量升级得自己diff, 真是ooxx. 所以要做定制, 这个地方是无法绕开的, 这个设计的改进也大有可为.

如果你绕开了这个问题, 更深入的想法还是有的. 比如桂林老兵以前实践过的的一个思路, 那就是设计一个C-S的登录方式, 如果我没记错的话, server端的登录接口似乎是隐藏在flash里, 没有client, 第三方根本不知道怎么进后台 ... 虽然这个思路比较极端, 不过还不算惊世骇俗, 完全可以实现. 不过这年头, Zend都被攻破, 隐藏这件事大概也没什么十分靠谱的选择.

如果出现注入一类的漏洞, 也许可以得到用户的的密码散列, 这对个人是一个不容小觑的威胁. 什么, 你还不知道CMD5? 以下一段为zz:

WordPress用户密码产生的过程是, 当需要生成用户密码的时候, 随机产生一个salt, 然后将salt和password相加, 再进行count次md5, 最后和encode64的hash数值累加, 就得到了一个以$P$开头的密码, 这个密码每次产生的结果都不一样.

虽说是这样, CMD5仍然提供了WordPress/phpbb3这种加密类型的数据, 简单试了一下, 成功率还是不低的. 根源就在于这个算法是公开的, 谁都可以就此生成一个彩虹表. 我们不妨另辟蹊径, 定制一个独有的MD5算法. MD5算法中间有一些默认参数, 也就是所谓的Chaining Variable部分, 简单的修改这些参数就可以得到和原始算法不同的加密结果了. 这时即使数据库中的MD5散列被获取, 用字典也是无法查到这个散列的, 从而也就保证了个人信息的安全. 当然, 在数学上, 这种修改可能导致更容易出现不同的密码在MD5后结果相同的情况, 不过作为自用, 还是完全可以接受的. 不多说了.

以上述idea为核心继续拓展, 不难做成一个WP安全定制版.

引一段《Inception》作结:

What's the most resilient parasite? Bacteria? A virus? An intestinal worm?
—— An idea. Resilient, highly contagious.
A single idea from the human mind can build cities.
An idea can transform the world and rewrite all the rules.

PHUKD:不要随便接受陌生人的鼠标

前些日子在琢磨信安竞赛的作品主题,于是去看了看去年DEFCON的资料。发现了一个很有意思的topic:

《Programmable HID USB Keystroke Dongle: Using the Teensy as a pen testing device》

scheme

大致是说有一类HID设备是可编程的,这种可编程性显然让后门的植入隐蔽方便了许多。作者在制作硬件的同时,还亲自用C实现了一个库,感叹到这些人的动手能力真的很强,非我朝的教育理念和水准几十年内能赶上的 。。。

同时,这也告诉我们一个道理:不要接受陌生人的鼠标键盘礼物 。。。

这玩意的思路其实很自然,1991年即有之的AF/91愚人节式玩笑(这个玩笑大致是说海湾战争中美国在运往伊拉克的进口打印机芯片中植入了后门),在技术上其实完全不难实现,而且在今天,电子产品的种类、技术渠道更是比20年前丰富了许多。我yy道,之前肯定有人秘密地做了这方面的工作,并且早已投入实战了 。。。

不要随便接受陌生人的鼠标 。。。

FOCA: 深度挖掘文件中的隐含信息

FOCA (Fingerprinting Organizations with Collected Archives), 免费工具一枚. 由西班牙的一家公司informatica64公布, 主要用途是提取隐藏于文件中的深层信息. 在2009年的DEFCON 17上, 有一个介绍性演讲的题目叫做Tactical Fingerprinting using metadata, hidden info and lost data using FOCA (直译: 战术指纹提取?), 此演讲的音频、slides及white paper可以在这个页面找到.

同类工具有Libextractor/Metagoofil/OOMetaExtractor等, 在作者的slides中亦有所涉及, 大致解决方案也略有阐述.

FOCA

功能:

  • 搜索引擎中搜索文件
  • 抓取符合条件的文件
  • 挖掘和解读隐藏信息
  • 最终整合及分析信息

可提取的信息类型:

  • Metadata: 文档自身信息,如作者, 审核者等.
  • Hidden Information: 由程序生成, 不可人为编辑. 如路径, 打印机名等.
  • Lost Data: 人为失误写入, 如非纯文本方式的粘贴可能附带的内网URL.

可分析文件类型:

*.doc, *.docx, *.ppt, *.pptx, *.pps, *.ppsx, *.xls, *.xlsx, *.odp, *.odt, *.ods, *.odg, *.pdf, *.wpd, *.sxw 等.

继续阅读

POC2009的Slides

poc 看邮件列表,发现有人说POC2009上n多大牛的slides可以下载了 .. 顺手down下来看看,呃,基本上没有看懂的 .. 所以只能在此给出简单的膜拜模型了 .. 不过,单从每个presentation的标题来看就可以知道大家的研究领域涵盖之广,竟然还有一位讲的是Hacking Satellite(都研究到卫星安全了?),人与人的视野和思维确实不一样啊 .. 仰望中 .. 三位来自中国的演讲者MJ0011(内核驱动研究,人和技术都很好,似乎几年前在BBS上有过交流)、Xu Hao、TieLei Wang(Google了一下,是一位北大计算机所的博士)的题目也都很不错,有兴趣的同学可以到下面的网站下载pdf格式的slides观摩:

http://www.powerofcommunity.net/pastcon_2009.html

忍不住感慨一句,他们的slides,都很精致!

注:
POC,全称为Power of Community,定位于“International Hacking & Security Conference”,本次的POC2009为第四届,已于今年的11月5日到11月6日在韩国的首尔举行。