自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Just Do It

技术成就梦想 知识改变命运

  • 博客(114)
  • 收藏
  • 关注

原创 Palo Alto防火墙远程代码执行漏洞复现

最近,花了点时间复现了一下这个漏洞,踩过一些坑,在这里记录一下。关于这个漏洞的情况,可以看这里。       文章介绍说,三个漏洞组合完成代码执行的过程。作者其实写的蛮清楚的,但是在第三步是有一些坑要踩的。       首先,来复现部分权限绕过,先访问/php/utils/debug.php。会直接跳转到登录页面,如下图所示:       接着按照作者指导的方式,访问/esp/cms_c

2017-12-26 18:40:07 3756 2

原创 WhatWeb源码分析之lib/plugins.rb

插件处理在whatweb中占有很重要的地位,这次就来分析lib/plugin.rb。还是按照惯例,一边调试运行一边分析plugins.rb中的代码实现。首先,看到的是关于plugin处理的几个变量的初始化操作。       注意看,在进入load_plugin之前,如果特定判断条件满足的话,会有一个赋值,这样load_plugin的范围会扩大。在这里我没有指定额外的plugin位置,所以只是

2017-11-03 18:22:50 653

原创 WhatWeb源码分析之lib/target.rb

这次,来详细看看lib/target.rb的源代码。target.rb中定义了一个Target类,这个类主要是对目标url进行处理,涉及到url的提交方式,如get、put、post等,还涉及到是采用http还是https,以及对各部分结果的处理。       接下来,按照调试运行函数跟进的顺序,一个一个进行分析。跟进whatweb主程序:       首先,是对Target类的初始化,跟

2017-10-31 20:29:55 716

原创 Spaghetti扫描器源码分析之发现模块

首先,看下modules下源码结构:       从源码的目录结构可以看到,在modules下面有两个部分。fingerprints我们在之前已经分析过了,这篇主要分析一下discovery目录下面各部分的源码。       这里先看一下util下面的manager.py源码。这里基本就是按照discovery每个子目录构建一个初始化函数。       先来分析attack子目录的实

2017-10-28 18:50:56 437

原创 WhatWeb源码分析之运行流程

第一篇熟悉了部分WhatWeb源码,这一篇记录调试WhatWeb,梳理得到的WhatWeb运行流程。       调试之前,可以运行一下WhatWeb的帮助,得到WhatWeb提供的所有选项,大致知道WhatWeb提供的功能有哪些。 ruby whatweb -h.$$$ $. .$$$ $.$$$$

2017-10-19 10:36:12 1330

原创 VS2015编译Python2.7.14源码(失败)

最近,在看《Python源码剖析》这本书。下载了当前最新版本的Python2.7.14进行编译运行一下。因为我当前电脑配置是WIN10+VS2015,在这里就记录一下该环境下编译运行的过程。       因为Python-2.7.14\PCbuild下面的脚本文件get_externals.bat需要用到SVN,所以先安装Subversion For Windows。然后运行get_extern

2017-10-17 20:27:39 1608

原创 WhatWeb源码分析之开篇

WhatWeb是一款非常著名的指纹扫描器,在平时渗透测试用的也比较多。从这一篇开始,陆陆续续来分析它的源码,领会其中精髓。写这篇博客的当下,我对ruby并不熟悉,所以开篇就一边看着源码一遍熟悉ruby语法吧。       开始看whatweb这个文件的源码熟悉语法: $LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__))) unl

2017-10-11 13:17:06 1654

原创 Spaghetti扫描器源码分析之爬虫模块

上一篇大致分析了Spaghetti的指纹识别部分,这篇来大致分析下它的爬虫部分。       先来看下extractor目录下的urlextract.py: class UrlExtract: @staticmethod def run(content): try: urls = re.findall(r'href=[\'"]?([^\'" >]+)|Allow: (\/

2017-10-08 10:32:01 452

原创 Spaghetti扫描器源码分析之指纹识别

Spaghetti是一个开源的Web扫描器。看了一下它的介绍,有关于指纹识别的组件。那就看看源码了解一下。       源码上看对指纹的识别,还是对response里面的项进行正则匹配,来进行特定指纹的识别。首先源码里面,定义了一个自己的request处理类,看了一下里面对GET和POST请求的参数都是一样的,也真是诡异,这有啥好封装的。唯一多了一个随机选择User-Agent项,可是这一项源码

2017-10-06 23:21:23 1898

原创 ubuntu16.04下源码安装arachni扫描器

前段时候看一个对各开源扫描器的评测,arachni在综合评价上胜出。最近正好想研究一下arachni的源码,那就在ubuntu下先把玩一下。其实之前在kali和ubuntu下源码安装都失败了,这次算是耐着性子一边安装一边把成功的经验记录下来。       首先,把代码clone到本地: git clone https://github.com/Arachni/arachni.git

2017-10-05 10:37:16 2185

原创 双管道与cmd.exe进程间通信演示

看《老狼Gh0st远程协助软件编写系列教程(上半部)》视频的时候,4.1节有讲到双管道与cmd.exe进程间通信。所写的demo工程只能一次输入一个命令,然后返回。再次输入的时候会出现问题。在这里,我改进了一下代码,每次都可以输入命令,然后返回结果。       简单的MFC程序如下,启动之后,不管是否在命令输入框里输入内容,点击确定都只是出现cmd.exe的启动信息,如下图所示:    

2017-06-02 10:51:05 2949 2

原创 Linux系统提权思路

渗透测试过程中,拿到Webshell之后,常规都会去看一下系统是啥权限。这里主要讨论Linux系统的一些思路。       常规思路不用说了,先查看Linux内核版本,然后直接去搜一下是否有关于该版本的提权exp放出来,如果有的话,直接编译运行提权即可,简单粗暴。       如果没有相关内核的提权exp放出来,那就需要考虑其他思路了。这篇老外的文章,介绍了常规的三种提权思路,第一种就是内核e

2017-03-22 11:22:08 26491 1

原创 关于Mysql中select into outfile权限的探讨

在渗透测试的过程中,如果网站数据库为Mysql,在sql注入的过程中如果爆出了网站的绝对路径,常规思路会去查看一下Mysql中用户权限是否有读写权限。sqlmap就是按照这样的思路写入shell的,不过在不知道网站绝对路径的情况下,sqlmap会对一些常规的路径进行写入尝试。在这里,我主要记录一下为什么有时候shell写不进去路径。       在我的经验里,有时候在linux渗透测试的后,即使

2017-03-20 11:32:43 27525 2

原创 S2-045 跨平台GUI Exp

用Java写了一个跨平台的S2-045 Exp,界面使用JavaFX编写(这就意味着Java环境需要1.8及以上)。主要功能:1、Poc 验证漏洞是否存在;2、常用命令执行;3、获取Webshell(菜刀马)。       界面如下:       随便找一个案例测试一下,Vuln Check判断是否存在S2-045漏洞:       System Information部分用于获取主

2017-03-15 18:58:18 1756

原创 Socks5代码的一点解析

最近,看了一下Socks5的RFC,在网上找了一下Scoks5的Python实现,有几个地方自己看得不是很明白,就多查看了一下,Wireshark抓包也看了一下,稍微记录一下。       网上找的源码如下:其中我不是很明白的地方在如下: 1: #!/usr/bin/python 2: # Filename s5.py 3: # Python Dynamic Socks5 Pr

2017-03-09 13:42:17 2077

原创 JavaMail解析畸形邮件

在邮件处理的时候,一般情况下使用JavaMail就可以处理好发件人和收件人了。但是遇到一些畸形邮件,比如发件人和收件人的格式不太规范的问题,使用JavaMail处理就可能出问题了。这就需要自己在邮件处理流程上增加一些判断和异常处理。       捕捉JavaMail在进行邮件解析产生的异常,然后根据不同异常调用自己写的邮件地址处理函数。就可以把这一类畸形邮件正确处理。邮件内容提取函数的部分代码片

2017-02-09 11:46:30 947

原创 Java递归解压缩

做邮件分析的时候,因为前台上传的是邮件的压缩包,在后台处理的时候需要先对压缩包进行解压缩,然后再对邮件进行提取操作。       因为压缩包的扩展名名字可是rar、7z、zip。所以需要分情况进行解压缩。而且压缩包里面可能还有压缩包,需要递归解压缩。       对于zip文件当时用的是zip4j这个jar包,rar、7z文件用的是zip4j这个jar包。maven导入外部jar包的配置文件如

2017-02-09 11:21:26 3533

原创 netCDF文件内容提取

很久之前写的一个小程序,当初要提取大量netCDF文件中的部分数据。所以写了一个小程序来进行自动化处理。 ncBrowse可以用来查看netCDF文件的中的字段和信息。 我写的程序用到了netCDF4这个包,具体源码如下: #!/usr/bin env python#-*- coding:utf-8 -*-# __author__ = 'ShadonSniper'from net

2017-02-09 10:49:11 4100

原创 CentOS 7.1安装Elasticsearch和Storm

这篇文章主要记录一下CentOS 7.1下安装配置Elasticsearch和Storm。       安装Oracle JDK,这个可以参照我之前写的文章。       安装Elasticsearch       到https://www.elastic.co/downloads/elasticsearch下载Elasticsearch,最新版本是2.3.1。解压之后放到/opt目录下面。

2016-05-26 19:42:56 1188

原创 Python多线程中join函数与setDaemon函数使用说明

在Python多线程编程的时候,经常需要用到join函数和setDaemon函数。之前对这两个函数一直理解不是很到位。今天查阅了很多资料,对两个函数的认识更加的深入一些了。       join([timeout])可以参考Python文档说明。大概意思就是调用join函数会使得主调线程阻塞,直到被调用线程运行结束或超时。参数timeout是一个数值类型,用来表示超时时间,如果未提供该参数,那么

2016-03-13 16:27:16 5183

原创 Joomla反序列化通杀漏洞(版本低于3.4.5)复现的那些坑

这是最近流出来的一个漏洞,利用Joomla反序列化可以造成远程代码执行。关于该漏洞的分析可以参考一下链接:       wooyun drops上的:http://drops.wooyun.org/papers/11330       Freebuf上的:http://www.freebuf.com/vuls/89754.html       360播报上的:http://bobao.360

2015-12-18 13:08:30 9312 3

原创 《PHP+MySQL八大动态Web应用实践》源码修正及分享

《PHP+MySQL八大动态Web应用实践》这本书买了很久了,最近准备好好学习一下PHP的基础知识,重新拿起这本书来看看。这本书有个坑,源代码是有很多问题的,然后PHP的版本比较老旧,之前支持的函数在最新版本中被废弃了。       我就一边学习一边修改源码。最后,我会把修改好的所有源码放到GitHub上分享出来,有需要的朋友可以去下载。       本机PHP版本为5.6.3,系统为Win7

2015-12-06 11:36:42 1214

原创 Linux日志清理工具:Logclean-ng编译

《黑客大曝光》在攻击Unix章节,有提到linux日志清理工具Logclean-ng,给的评价也挺高的。正好手头上有需要,就下载下来玩一下。       开始以为按照说明编译就可以了,后来发现其实有个小坑的。在这里记录一下,可能有些朋友会用得到。       Logclean-ng的源码下载地址:https://packetstormsecurity.com/files/46742/logcl

2015-11-26 21:43:52 2144

原创 PhpStorm配置Xdebug

最近用着PhpStorm来写PHP代码,感觉很不错。最近在准备调试PHP代码的时候,找到了在ZendStudio下同样用到的Xdebug。这篇文件仅是PhpStorm下配置Xdebug的简介,没啥技术含量,留个笔记,后续备查。       本机环境:Win7 X64+XAMPP(PHP版本为5.6.3)。       首先下载PHP版本对应的Xdebug版本,我这里下载PHP 5.6 VC11

2015-11-18 17:48:03 572

原创 CVE-2015-7857 Joomla注入漏洞利用工具(Python)

前段时间闹得很火的一个SQL注入漏洞,影响版本Joomla 3.2.0-3.4.4版本。目前官方已经提供了升级版本。       漏洞分析英文版本在这里:https://www.trustwave.com/Resources/SpiderLabs-Blog/Joomla-SQL-Injection-Vulnerability-Exploit-Results-in-Full-Administrat

2015-10-30 20:36:53 6226 1

原创 LFI(本地文件包含)获取Webshell

本地文件包含在Web渗透测试中时不时的会遇到。之前遇到本地文件包含的时候,最多就是证明一下:比如包含“/etc/passwd”。有利用本地文件包含来进行Getshell的,之前是略有耳闻的,这两天看相关文章的时候,好奇一下自己搭环境实现了一遍。很老的技术了,看老外在2011年就写了相关文章,不过文章中的Python程序是有问题的。我会在最后把自己修改的代码分享出来。       关于原理可以参照

2015-10-11 12:18:56 4025

原创 CentOS 7.1 升级Python2.7.10及编译mod_wsgi指南

最近,准备学习下Django的开发。下载了最新的CentOS7.1(安装的时候选的开发及生成工作站,然后右边全勾上了),打算开始配置及开发。当然,环境的配置实际上还是有点小棘手的。找了一下网上的配置教程,我只想说很多人真的只是转载,压根就不会去确认教程的正确与否。花了一些时间,把自己遇到的问题记录一下,或许后面其他朋友能够用的上。       CentOS7.1默认安装的是Python2.7.5

2015-09-20 10:16:33 1964

翻译 使用python创建一个检测不到的自定义SSH后门

看到一篇不错的关于python ssh后门相关知识的文章,一边学习顺带部分翻译一下。原文地址:http://resources.infosecinstitute.com/creating-undetectable-custom-ssh-backdoor-python-z/。在《Black Hat Python Python Programming for Hackers and Pentester

2015-09-19 11:38:29 1997

原创 利用Shell脚本进行文件内容去重

最近在处理文件的时候,遇到文件内容存在大量重复项的情况,很显然需要文件内容去重。因为使用的是Python,本来想要找找Python文件内容去重的方法,但是看到的基本利用Set或者List等方法(还没来得及逐一验证)。后来,找到一个利用Shell脚本写的文件内容去重,用了一下觉得很赞,在这里深入的研究一下,也算是对Shell了解和熟悉一下。       shell脚本如下所示: #!/bin/b

2015-08-15 10:19:21 2876

原创 Windows下使用python-nmap库可能遇到的问题及解决方法(续)

之前,我有写过一篇Blog关于相关问题的解决方案,文章地址。最近,在Windows下配置python-nmap时,又遇到了一些问题。总结记录一下。       关于”nmap program was not found in path”问题的解决办法:       首先,我本机安装了最新的Python-2.7.10和nmap-6.49BETA4。我还是打算用原来的python-nmap-0.2

2015-08-04 17:47:28 9618 5

原创 reGeorg+proxychains-ng组合试用

之前有分享过LCX端口转发工具及修改的可以在32位和64位Windows运行的源码。这次,我再来试用下reGeorg和proxychains-ng。在渗透测试过程中,可以利用它们的组合来完成从外网到内网的通信。       reGeorg是reDuh的继承者。主要是把内网服务器的端口通过http/https隧道转发到本机,形成一个回路。用于目标服务器在内网或做了端口策略的情况下连接目标服务器内部

2015-08-02 15:27:35 10989 2

原创 命令执行分隔符辨析

在渗透测试的时候,会时不时的遇到多个命令使用分隔符隔开的情形。那么,不同的分隔符的意义到底有什么不同呢?       一般系统的命令分隔符有:“;”、“&”、“&&”、“|”、“||”,它们的区别如下表所示: 分隔符 描述 ;

2015-07-27 09:57:26 745

原创 Kali下终端输入msfpayload出错

最近,在使用Kali的时候,发现在终端中输入msfpayload时,出现错误“bash: msfpayload: command not found”。网上找了一下,原来是从2015年6月8日之后,msfpayload已经被移除了。以后只要使用msfvenom就行了,它集成了msfpayload和msfencode的功能,而且超级方便噢。       msfvenom的大概使用说明如下: Ms

2015-07-23 09:48:58 12267

原创 关于渗透测试过程中的SSH免登陆

渗透测试过程中,经常会遇到服务器的系统为Linux相关的情况,菜刀下查看权限的时候,有时候运气好还是root权限。很久之前对于root权限的linux服务器,在渗透过程中我还真不知道如何下手。后来,我知道了,如果是root权限,我们可以看一看是否开了22端口,如果开了,很好,可以通过SSH公钥认证方式登录服务器,达到对服务器的完全访问和控制操作。这篇文章也不是什么新文,网上也有,在这里我只是留个笔

2015-07-14 09:13:05 1544

翻译 关于Python中如何使用静态、类、抽象方法的权威指南

对于Python中静态、类、抽象方法的使用,我是一直很迷糊的。最近看到一篇技术文章对这方面解释的很好,在此翻译一下,加深印象,也为有需要的同学提供一个方便。       Python中方法是如何工作的:       方法即函数,作为一个类的属性存储。你能像如下申明和访问一个函数: >>> class Pizza(object):... def __init__(self,size

2015-06-29 12:28:32 1679

原创 VIM中执行Shell命令(炫酷)

我对VIM的认识仅仅是一款源码编辑器,在Linux下用来编辑程序源码或者某些服务的配置文件。最近无意中看到vim中竟然可以执行shell命令。第一次见,说句实话感觉好炫酷!不多说,我查了一些资料,一个一个尝试一下,留个笔记,备查。       vim中执行shell命令,有以下几种形式:       第一种 :!command       不退出vim,并执行shell命令command,将

2015-06-24 09:59:25 19084 1

原创 Python List中的append和extend

最近,在阅读Scrapy的源码的时候,看到有关list方法append和extend的使用。初一看,还是有些迷糊的。那就好好找点资料来辨析一下吧。       stackoverflow中的回答是这样的:       append:在尾部追加对象(Appends object at end) C:\Users\sniper.geek>python2Python 2.7.9 (defaul

2015-06-16 09:07:08 1566

原创 利用Scrapy爬取拉勾网某职位信息

学习了一段时间的scrapy爬虫框架,也模仿别人的写了几个。最近,在编写爬取拉勾网某职位相关信息的过程中,遇到一些小的问题,和之前一般的爬取静态网页略有不同,这次需要提取的部分信息是js生成的。记录一下,后续备查。       整个project的文件结构如下所示: ├── lagou_python│ ├── __init__.py│ ├── items.py│ ├──

2015-06-01 13:20:38 2499 1

原创 Fedora13下真正能用的源(2015-5-16亲测)

fedora13是很早的一个fedora版本了。最近因为安全测试想要用一下,从官网下的DVD ISO,地址为:http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/13/Fedora/i386/iso/。我遇到一个奇葩的问题,没法更新系统。出现如下错误: “Error: Cannot retrieve repository m

2015-05-17 12:24:05 1545

翻译 Shellcoding教程:介绍ASM

网上看到一篇不错的介绍shellcode的入门文章,我就大致翻译一下,算是自己真正跨入二进制安全相关领域的学习吧。原文地址:http://www.primalsecurity.net/0x0-shellcoding-tutorial-introduction-to-asm/       以下为翻译内容:(非逐句翻译)       汇编代码介绍:       汇编语言是一种为了方便与微处理器交

2015-05-08 12:52:45 709

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除