安全编程
安全编程
隐形人真忙
这个作者很懒,什么都没留下…
展开
-
Java Unmarshalling Security - 攻击Hessian协议
0x00 Hessian协议解析Hessian是一个轻量级的Java反序列化框架,和Java原生的序列化对比,hessian更加高效并且非常适合二进制数据传输。既然是一个序列化/反序列化框架,hessian也有反序列化命令执行的问题,这个在marshalsec工具中有所体现。这里有个有趣的点,在hessian框架中,ysoserial框架提供的gadget无法使用,你会发现在hessian...原创 2020-05-10 10:32:09 · 8878 阅读 · 0 评论 -
Jackson dbcp gadget以及CVE-2018-5968
0x00 Overview历史上Jackson的反序列化漏洞以及绕过主要是CVE-2017-7525 和 CVE-2017-17485。而针对反序列化漏洞的防护,jackson主要采用了黑名单机制,通过限制反序列化的类名称来进行防护。黑名单列表在com.fasterxml.jackson.databind.jsontype.impl.SubTypeValidator类中:本文主要介绍d...原创 2020-05-10 10:32:23 · 10695 阅读 · 1 评论 -
Pingback漏洞利用技术
0x00 废话在做内部扫描的过程中,有些POC带有无回显识别功能时,漏洞扫描发payload的时候会把这个callback地址插入到HTTP报文的任意地方进行发送探测漏洞,时间久了,就发现回显后台中有很多不知所云的DNS或者HTTP的log,遇到这种情况并不好排查,往往不了了之。但现在这种情况深入分析是有存在漏洞的风险的,我姑且称其为Pingback漏洞。以下是BH2017相关议题的一些总结。0x0原创 2017-08-02 16:08:28 · 9942 阅读 · 1 评论 -
Java Rasp技术浅析
前端时间有幸参与到Rasp技术相关的项目中,正好要告一段落,因此今天来科普下这种技术形式与具体应用。(一)Java Instrumentation介绍Java Instrumentation是从JavaSE 5开始提供的新特性,用于构建独立于java应用的agent程序,主要目的是对JVM上的应用进行监控,比如性能优化监控等等。通过这个特性,我们可以实现在不修改JVM源码的基础上操控字原创 2017-07-11 18:00:18 · 8264 阅读 · 0 评论 -
JSON WEB TOKEN安全
0x00 JWT是什么JWT全称JSON WEB Token,可以理解为一个小型的协议,用于客户端和服务端可靠地传输数据。一个JWT串(来自maimai)实际上长成这个样子:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1IjozNDcyMjU4NiwiaWQiOjc3Mjk3NTl9.I3p2MonJyAAMdsk4VyKgrQT6jal4jJSJv原创 2017-05-23 16:00:15 · 6278 阅读 · 0 评论 -
Java框架安全
(一)Mybatis注入问题Mybatis是目前比较常用的ORM的框架,一般与SpringMVC框架整合较多,但使用不当会有SQL注入的风险。Mybatis里mapper中SQL语句的写法支持两种形式的占位符,一种是#{value}一种是${value}.使用#进行占位时,如:<selectid="selectUsername"resultType="com.example....原创 2020-05-10 10:35:14 · 8707 阅读 · 1 评论 -
bug bounty - 绕过限制劫持Skype账号
0x00 前言在使用outlook的过程中,我意外发现了一个URL:https://webdir.xxx.lync.com/xframe。并在这个页面中发现了一处监听message时间的监听器。通过阅读代码,发现过程如下:(1)接受外界的message,抽取出URL,type(类似于command指令),以及一些data、header等。(2)用这个message中的信原创 2017-05-03 10:48:30 · 7498 阅读 · 0 评论 -
PHP HOOK的若干方法
0x00 针对OP进行hook在PHP内核中,每一个OP操作都是由一个固定的Handler函数去负责的,看_zend_op的结构体属性第一个就是opcode_handler_t,表示该OP对应的handler函数具体是哪个。主要是调用zend_set_user_opcode_handler,将对应的ZEND OP的handler函数替换成自己定义的函数实现HOOK机制。比如原创 2017-04-14 18:15:32 · 11730 阅读 · 0 评论 -
谈谈HSTS超级Cookie
0x00 关于HSTS浏览器在用户输入网址时,会默认使用http协议,即使该站点已经设置了https。比如www.example.com已经设置了https,但是如果用户在浏览器中只输入www.example.com,那么其实是默认访问的http://www.example.com,这时候服务器端只能做个302跳转,将请求显式指定到https://www.example.com。但是这存在原创 2016-12-24 01:03:21 · 6375 阅读 · 0 评论 -
PHP的两个特性导致waf绕过注入(有趣的知识点)
1、HPP HTTP参数污染HTTP参数污染指的是,在URL中提交相同键值的两个参数时,服务器端一般会进行一些处理。比如Apache就要以最后一个参数为准,比如:user.php?id=111&id=222如果输出$_GET数组,则id的值只会取222,即URL上提交的多余值覆盖了前一个值。2、一个CTF题目http://drops.wooyun.org/tips/原创 2016-07-04 23:20:55 · 8061 阅读 · 0 评论 -
机器学习-多变量的线性回归模型与实现笔记
0x00 代价函数多变量的回归问题中,feature有多个,比如房屋价格预测问题,feature除了房屋的面积,还可能有房子的间数、房子的地段、房子的层数等因素所影响。在多变量回归问题中,我们的假设函数如下: 在此基础上,计算回归的代价函数为: 根据上面的公式,在Octave中,一行代码即可实现:function J = computeCost(X, y, theta)m = leng原创 2015-11-04 00:06:07 · 4097 阅读 · 2 评论 -
使用Tornado实现http代理
0x00 http代理http代理的用处很多,市面上也有公开的代理,但是有时候为了工作需要,比如分析应用层流量、做数据访问控制、甚至做监控等等。Tornado提供了一些很方便的环境和API,我们可以基于Tornado轻松实现一个http代理。0x01 实现原理http代理主要做客户端和web服务器之间的转发,这是大家都熟悉的场景,但只限于http协议的情形。对于https的情况,这时候代理只作为TC原创 2015-08-20 18:18:18 · 6458 阅读 · 0 评论 -
构建一个快速的扫描器
0x00 前言最近工作需要做大规模的扫描,需要自己根据指纹写一个扫描引擎,其中碰到了无数的坑,最后勉强算的过去,特地写写博客总结一下各种坑和思路。0x01 任务队列+多线程模型一开始自然而然想到的就是这个扫描模型,利用Python中的同步队列结合多线程发包、收包、写操作。大致模型如下:class Worker(Thread): def __init__(self, queue):原创 2015-08-14 21:35:56 · 2585 阅读 · 0 评论 -
Python中eval带来的潜在风险
0x00 前言eval是Python用于执行python表达式的一个内置函数,使用eval,可以很方便的将字符串动态执行。比如下列代码:>>> eval("1+2")3>>> eval("[x for x in range(10)]")[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]当内存中的内置模块含有os的话,eval同样可以做到命令执行:>>> import os>>> e原创 2015-08-05 15:58:37 · 7870 阅读 · 0 评论 -
PHP自动化白盒审计技术与实现
0x00前言国内公开的PHP自动化审计技术资料较少,相比之下,国外已经出现了比较优秀的自动化审计实现,比如RIPS是基于token流为基础进行一系列的代码分析。传统静态分析技术如数据流分析、污染传播分析应用于PHP这种动态脚本语言分析相对较少,但是却是实现白盒自动化技术中比较关键的技术点。今天笔者主要介绍一下最近的研究与实现成果,在此抛砖引玉,希望国内更多的安全研究人员将精力投入至PHP自动化审计技原创 2015-05-30 09:57:50 · 3307 阅读 · 1 评论 -
漏洞批量利用扫描框架
0x00前言每次漏洞爆发之后,很多人都在急着找批量,想着能多刷几个洞提交乌云上。其实有些漏洞的探测步骤很多时间是可以统一抽取做成框架的。今天我就分享一下自己写的一个漏洞批量利用的框架,运用这个框架,可以方便的进行一些漏洞的批量扫描。0x01框架的原理漏洞的扫描一般都是URL链接挂载一个POC或者有人更狠直接上exp来尝试访问,如果服务器返回的页面中存在一些特征的字...原创 2020-05-10 10:36:44 · 16582 阅读 · 0 评论 -
浅谈PHP自动化代码审计技术
0x00由于博客实在没什么可以更新的了,我就把目前做的事情总结一下,当做一篇博客,主要是谈一谈项目中所运用的一些技术。目前市面上有不少PHP的自动化审计工具,开源的有RIPS、Pixy,商业版本的有Fortify。RIPS现在只有第一版,由于不支持PHP面向对象分析,所以现在来看效果不是太理想。Pixy是基于数据流分析的工具,但是只支持PHP4。而Fortify是商业版本,由于这个限制原创 2015-04-10 17:15:40 · 10928 阅读 · 4 评论 -
ElasticSearch Groovy远程代码执行POC和exp
ElasticSearch的这个漏洞的编号是CVE-2015-1427,影响版本为1.3.0-1.3.7以及1.4.0-1.4.2,漏洞成因详见:http://drops.wooyun.org/papers/5107,本文具体探讨一下漏洞利用。1.2.0版本默认是禁用了脚本执行,如果要使用该功能的话,要在elasticsearch.yml中设置script.disable_dynami...原创 2020-05-10 10:37:11 · 14086 阅读 · 9 评论 -
使用PHP-Parser生成AST抽象语法树
0、前言最近项目的流程逐渐清晰,但是很多关键性的技术没有掌握,也只能一步一步摸索。由于要做基于数据流分析的静态代码分析,所以前端的工作如:词法分析、语法分析必不可少。Yacc和Lex什么的就不再考虑了,查了一天的资料,发现两款比较适合,一款是Java下的ANTLR,另一款是专门做PHP AST生成的PHP-Parser。ANTLR是编译原理领域比较著名的工具了,相对于Yacc和Lex,原创 2015-01-22 23:05:52 · 12322 阅读 · 1 评论 -
如何自己构建一个小型的Zoomeye----从技术细节探讨到实现
0、概述Zoomeye是个网络空间的搜索引擎,它不同于传统意义上的搜索引擎,而是一种可以搜索网络组件和网络设备的搜索引擎。这种以各大组件指纹作为识别基础的数据平台,更多的是为了使得安全研究人员更好地评估漏洞的影响范围与其中隐含的数据模式。1、架构分析这是从网上搜索到的一张Zoomeye的后端架构图,主要分为调度框架、ES存储、UI呈现等模块。对于一次漏洞的评估,启动调度框架原创 2014-12-16 21:51:51 · 29261 阅读 · 32 评论 -
实现一个Web版的类Metasploit的攻击框架
这是我现在结题的一个专业实训中的一部分内容,小心翼翼地拿出来分享。在项目中,攻击模块不仅提供自动化攻击功能,也提供了用户扩展的平台,通过规定编写规则来进行有效的扩展。(1)攻击模块设计该攻击模块采用命令行模式,设计功能示意图如下:(a)指定exp名称攻击:l全域名扫描即针对现有的域名全部进行攻击。python safecatcli.py -m exp原创 2014-12-13 10:37:39 · 5686 阅读 · 1 评论 -
原始套接字的使用之编程实现DoS(拒绝服务)攻击程序
0x00 原理SYN泛洪攻击(SYN Flood)是当前最流行的DoS与DDoS的方式之一,这是由于TCP协议的缺陷造成的。攻击者通过发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或者内存不足)的攻击方式。首先要先了解正常情况下的TCP连接建立过程。(1)客户端发送一个Flag为SYN的TCP报文,并设置一个seq序列号x。(2)服务器接收到了原创 2014-10-26 23:08:46 · 2394 阅读 · 0 评论 -
Web指纹识别之Discuz识别+粗略版本判断
这个识别程序是本学期我的专业实训上的一个项目,就是做一个类似于Zoomeye的东西,然后使用ES进行整合,从而做出搜索引擎的模样。那么首先就要有能力去网上识别出相应的Web组件,如用户输入关键词:Discuz X3.0,我就要显示出相应版本的内容才OK。作为识别子程序,我这里暂且分享一下识别Web组件的思路。我是从浅谈web指纹识别技术一文中找到的思路。对于Discuz的网站,第一时间想的就是原创 2014-10-25 22:17:44 · 5046 阅读 · 1 评论 -
Drupal 7.31 SQL注入漏洞利用详解及EXP
有意迟几天放出来这篇文章以及程序,不过看样子Drupal的这个洞没有引起多少重视,所以我也没有必要按着不发了,不过说实话这个洞威力挺大的,当然,这也是Drupal本身没有意料到的。0x00首先,这个漏洞真的很大,而且Drupal用的也比较多,应该可以扫出很多漏洞主机,但是做批量可能会对对方网站造成很大的损失,所以我也就只是写个Exp。不过,这个洞好像不怎么被重视,这也是极为不合适。...原创 2020-05-10 10:38:50 · 29733 阅读 · 0 评论 -
Ecshop支付宝插件SQL注入及漏洞利用(exp)
0x00在\includes\modules\payment\alipay.php文件中,有一个response函数用来处理支付信息,在ECSHOP的init初始化文件中,默认是做了全局转义的,而这个漏洞的精髓在于绕过全局转义。在$order_sn=str_replace($_GET['subject'],'',$_GET['out_trade_no']);中...原创 2020-05-10 10:39:32 · 31567 阅读 · 1 评论 -
编程实现识别内网中进行ARP欺骗的主机
这个程序来源于我一个专业选修课程的实验之一,用来检测一个内网网段中,网卡开了混合模式的主机。要做到这个功能,有以下几种方法:(一)识别恶意主机的原理使用“广播地址”进行判断原理是:正常情况下,网卡检测接收到的数据包是不是广播数据包,要看收到的数据帧的目的MAC地址是否等于ff.ff.ff.ff.ff.ff,如果是则认为是广播地址,但当网卡原创 2014-09-26 19:34:28 · 3856 阅读 · 0 评论 -
Bash Shellshock(Bash远程代码执行)漏洞批量利用脚本
Bash远程代码执行漏洞的威力确实要比心脏滴血大很多,但是影响范围不是很广泛,不过昨天的分析文章Bash远程代码执行漏洞分析中末尾提到了这个漏洞的批量问题。其中最最简单的方法就是使用搜索引擎的hacking技术,这里我使用的Google Hacking语法结合Google API来进行链接的抓取。只不过在国内的话。。。。需要加代理。程序中的代理是我本地的goagent代理,端口是8087。如何...原创 2020-05-10 10:39:43 · 30790 阅读 · 1 评论 -
网络扫描 + Dede CMS指纹识别示例
网络扫描 + Dede CMS指纹识别示例原创 2014-09-08 16:55:14 · 10651 阅读 · 1 评论 -
Python实现小型FTP服务
相比于BaseHTTPServer,Python中的SocketServer显得更加底层,原创 2014-08-27 18:18:44 · 1428 阅读 · 0 评论 -
Python实现网段固定端口扫描
使用Python写的一个扫固定端口的小工具,接收参数:起始IP,终止IP,目标端口。并测试成功,于是在此记录下,大牛勿喷。原创 2014-08-25 20:58:43 · 4408 阅读 · 0 评论 -
使用Python完成控制主机与任务节点的交互 [Demo]
(一)马上做一个分布式漏洞扫描与攻击的项目,这段时间一直选技术路线以及做大量的demo。这篇是记录我在主控端与各个漏洞扫描节点协调通信上的一个demo代码。我选择使用类似于WebService的技术,即各个节点暴露WebService接口,主控端去调用并且拿到回调。WebService基于SOAP协议通信我觉得太麻烦,因为我的需求是主控端分发任务队列给节点,节点执行,完成之后回原创 2014-08-25 00:01:25 · 2541 阅读 · 0 评论 -
使用Elasticsearch构建爬虫系统
(一)为什么用检索?爬虫系统一般分为多线程下载部分,链接池,数据存储,检索系统等。这个检索系统可以将我们爬取的信息进行整合,并且可以加快我们查找的速度。另外,不仅爬虫系统使用,我觉得在一切想把结果做成索引对外提供查询的需求都可以使用检索系统,比如个人社工库,大规模漏洞扫描系统(可以利用其做僵尸网络)等。检索系统很多,但是我认为Elasticsearch比较方便,提供多种语言的API,比如jav原创 2014-08-21 00:57:07 · 7907 阅读 · 0 评论 -
简单实现SYN端口扫描
0x00最近也在学习Linux开发,原创 2014-08-17 20:48:43 · 16276 阅读 · 12 评论 -
使用python实现IP反查域名
0x00趁着暑假的功夫,把原创 2014-08-17 20:11:35 · 13102 阅读 · 7 评论