- 博客(42)
- 资源 (46)
- 收藏
- 关注
原创 XSD文件与XML文件有什么关系
可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。可以用通用的XML解析器解析它。一个XML Schema会定义:文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认和固定值。简而言之,XSD文件用来定义Xml的格式的文件,而XML是按照一定的Xsd格式生成的数据文档。
2019-12-30 16:35:52 1312
原创 golang error类型详解
来解释一下errors包,只是一个为Error()填充的简易封装,整个包的内容,只有一个New方法,可以直接看。实际上error只是一段错误信息,真正抛出异常并不是单纯靠error,panic和recover的用法以后总结。我们知道接口这个东西,必须拥有它的实现块才能调用,放在这里就是说,Error()必须得到填充,才能使用.error类型是go语言的一种内置类型,使用的时候不用特定去import,他本质上是一个接口。第三种,就是通过自定义的MyError块去订制了。怎样去理解这个订制呢?
2019-12-30 15:30:39 1327
原创 dns劫持简介 https流量数据获取原理
即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。有关波兰遭遇大规模DNS劫持用户网上银行的事件中,因为使用SSLStrip会提醒用户连接没有使用SSL加密,黑客为了迷惑用户,重写了URL,在域名前加了“ssl-.”的前缀,当然这个域名是不存在的,只能在黑客的恶意DNS才能解析。简单的说黑客为了绕过HTTPS,采用了SSL层剥离的技术,黑客阻止用户和使用HTTPS请求的网站之间建立SSL连接,使用户和代理服务器(攻击者所控服务器)之间使用了未加密的HTTP通信。
2019-12-30 15:12:21 837
原创 西门子S7comm-plus通信过程及重放攻击分析
西门子PLC广泛应用于工业控制系统。本文主要利用手上S7-1200 V3.0.2 固件版本的PLC和TIA13等环境进行S7comm-plus加密协议初步分析及防重放攻击分析,本文章只做交流学习使用,禁止应用于非法用途,欢迎各路大神进行交流,共同学习进步。西门子PLC广泛应用于工业控制系统。西门子控制器包括S7-200、S7-300、S7-400、S7-1200以及S7-1500版本的西门子PLC,S7-200、S7-300、S7-400系列的PLC采用早期的西门子私有协议S7comm进行通信。
2019-12-30 11:17:00 3458 5
原创 由HTTPS抓包引发的一系列思考(HTTPS解密)
前言在渗透测试过程中,必不可少的操作就是使用BurpSuite、Fildder等抓包工具对应用程序的数据包进行拦截、观察和篡改。那么问题来了——对于使用HTTPS协议的站点,在BurpSuite中拦截到的数据包为何也是“明文传输”?如下图所示。从大神那里获得解答:(1) BurpSuite能抓到HTTPS协议的“明文数据”是因为BurpSuite在本地浏览器安装了自己的证书,作为...
2019-12-27 18:22:56 5079 2
原创 VulnHub靶机系列:Os-ByteSec
Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚机到获取操作系统的root权限和查看flag。主要突破点:通过SMB获取共享文件;通过爆破获取密码;从user.cap获取账户和密码;利用$PATH变量提权。
2019-12-26 18:44:38 1175
原创 XSSFORK:新一代XSS自动扫描测试工具(精)
xssfork是一款新一代xss漏洞探测工具,其开发的目的是帮助安全从业者高效率的检测xss安全漏洞。与传统检测工具相比xssfork使用的是 webkit内核的浏览器phantomjs,其可以很好的模拟浏览器。工具分为两个部分,xssfork和xssforkapi,其中xssfork在对网站fuzz xss的时候会调用比较多的payload。话不多说,一起来研究下这款工具吧?
2019-12-26 18:08:00 7222 1
原创 Linux系统替换文件内容
要替换某文件的内容sed -i 's/被替换的内容/要替换成的内容/' file要替换某文件的内容切先复制再替换,以免替换出错sed 's/被替换的内容/要替换成的内容/g' file > file.outmv file.out file批量查找并替换当前文件夹下的文件内容sed -i "s/要找查找的文本/替换后的文本/g" `grep -rl "要找查找的文本...
2019-12-25 18:46:54 4656
原创 Python获取本机公网IP
#!/usr/bin/env python# --*-- coding:UTF-8 --*--import socketimport requestsfrom requests.exceptions import Timeout, ConnectionErrorurls = ["http://whatismyip.akamai.com/", "http://wgetip.co...
2019-12-24 16:49:08 613 1
原创 工业控制系统ICS网络安全简析
要想实施对控制系统局域网的攻击,首先需要接入工业控制系统局域网,其次还要了解其控制的生产过程,最后通过控制系统特有的攻击方法进行攻击。
2019-12-24 11:27:48 1758
原创 Python之eval函数实例解释
源码def set_value(self, key, value): logger.debug('DataBus: Storing key: [%s] value: [%s]', key, value)a = "[random.randint(0,1) for b in range(0,128)]"b = "[0 for b in range(0,32)]"c = "1...
2019-12-23 19:04:44 620
原创 Python解析xml文件,此实例将xml设置为模版(from lxml import etree)
xml文件(template.xml)<core> <template> <!-- General information about the template --> <entity name="unit">S7-200</entity> <entity name="v...
2019-12-23 18:54:05 873
原创 Python删除进程用户权限(获取用户权限、用户权限,设置用户权限、用户权限)
import osimport argparseimport loggingimport sysimport pwdimport grpfrom configparser import ConfigParser, NoSectionError, NoOptionErrordef drop_privileges(uid_name=None, gid_name=None): ...
2019-12-23 15:20:56 422
原创 工控蜜罐Conpot部署和入门及高级演变
我大致地翻译了官方的介绍:Conpot是一个部署在服务端的低交互ICS蜜罐,能够快速地部署、修改和拓展。开发者通过提供一系列的通用工控协议,使得我们能够非常快速地在我们的系统上构建一套复杂的工控基础设施用于欺骗未知的攻击者。为了提高这套蜜罐的欺骗性和迷惑性,开发者同时也提供了一个人机接口来增加这套蜜罐的攻击面。蜜罐的响应时间能够通过相关参数进行调节,由此模拟出当前负载下的响应时间。Conpot对协议栈有着完整的支持,因此它能够接收生产环境中的HMI或是直接拓展的真实硬件。
2019-12-20 18:47:45 4540 2
原创 ICS/SCADA 系统的对比
不过随着技术的升级,电脑软硬件的普及化,Microsoft Windows,Active Directory 和标准化的兴起,企业内部的网络现在也可以从传统 ICS 网络以外的网络接收和处理数据以及微调操作。所以目前,这些原来的设计缺陷就暴露了出来,在网络安全日益突出的今天,这些漏洞直接妨碍了的 ICS 的再设计和实际运行。对于一般的 IT 系统来说,在升级系统时,都要进行重启恢复,耗费一定的时间,可是对于大多数 ICS 系统来说,每一次修复都会产生巨大的损失,这也间接的阻碍了企业对系统的升级和维护。
2019-12-20 18:00:37 1099
原创 Python__repr__()方法:显示属性
object 类提供的 __repr__() 方法总是返回该对象实现类的“类名+object at+内存地址”值,这个返回值并不能真正实现“自我描述”的功能,因此,如果用户需要自定义类能实现“自我描述”的功能,就必须重写 __repr__() 方法。但这个输出结果是怎么来的呢?__repr__() 是一个非常特殊的方法,它是一个“自我描述”的方法,该方法通常用于实现这样一个功能:当程序员直接打印该对象时,系统将会输出该对象的“自我描述”信息,用来告诉外界该对象具有的状态信息。__repr__() 是。
2019-12-20 17:13:40 539
原创 Python__getattr__、__setattr__、__delattr__、__getitem__、__setitem__、__getattribute__方法的理解
1. __getattr__(self, item):在访问对象的item属性的时候,如果对象并没有这个相应的属性,方法,那么将会调用这个方法来处理。。。这里要注意的时,假如一个对象叫fjs, 他有一个属性:fjs.name = "fjs",那么在访问fjs.name的时候因为当前对象有这个属性,那么将不会调用__getattr__()方法,而是直接返回了拥有的name属性了2. __s...
2019-12-20 16:16:36 372
原创 Python输出LOGO图标
def logo(): print(""" /\ /__\ / \ Version {0} MushMush Foundation""".format(A.__version__))
2019-12-20 15:01:32 2771
原创 Python3之socket编程(TCP/UDP,粘包问题,数据传输、文件上传)
粘包:发送方发送两个字符串”hello”+”world”,接收方却一次性接收到了”helloworld”。只有TCP有粘包现象,UDP永远不会粘包。所谓粘包问题主要还是因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据所造成的。分包:发送方发送字符串”helloworld”,接收方却接收到了两个字符串”hello”和”world”。TCP是以段(Segment)为单位发送数据的,建立TCP链接后,有一个最大消息长度(MSS)。
2019-12-19 16:42:53 2772 2
原创 Glances:一款功能强大的操作系统安全监控平台
它还能够以客户端/服务器端模式运行,远程监控可以通过终端、Web接口或API(XML-RPC和RESTful)来实现。除此之外,数据还可以导出至文件或外部数据库中。Glances采用Python开发,并使用了外部库来从目标系统收集数据。该工具基于开源架构实现,开发者可以根据自己的需求来增加新的插件或导出模块。
2019-12-18 16:10:06 2986
原创 AntiSpy:一款功能强大的反病毒&反Rootkit免费工具套件
AntiSpy是一款免费但功能强大的反病毒与反rootkit工具套件,该工具可以给安全研究人员提供最高级别的权限来帮助我们检测、分析和恢复各种内核修改以及钩子设置。这样一来,在AntiSpy的帮助下,我们就可以轻松发现并处理那些普通扫描器无法检测到的恶意软件了。AntiSpy是一款完全免费,并且功能强大的手工杀毒辅助工具。它可以枚举系统中隐藏至深的进程、文件、网络连接、内核对象等,并且也可以检测用户态、内核态各种钩子。在它的帮助下,我们可以轻松删除各种顽固病毒、木马、Rootkit,还我们一片干净舒适的上网
2019-12-18 15:43:28 773
原创 隔离网络那点事(物理隔离网络)
通过无法访问互联网的封闭网络保护重要资产,攻击者不能与隔离网络(全文都在说物理隔离网络)直接通过网络接触,传统攻击渗透手段都会失效,但是隔离网络并不代表绝对安全,虽然隔离了网络访问,但由于网络维护、数据交互等原因,无法阻断物理介质数据传输和物理设备的接入,如光盘、U盘等移动数据载体、键盘、鼠标等硬件设备、移动笔记本、临时热点等未按规定接入等,这些行为极有可能成为突破隔离网络的桥梁。本文对freeb...
2019-12-18 11:00:14 5580
原创 VC++CopyFile函数的用法
便可将a.txt文件复制到b.txt文件,第三个参数表示:如果目标已经存在,不拷贝(True)并返回False,覆盖目标(false);若文件路径为string类型变量,例如为pathstr,则需使用pathstr.c_str()转换即可;CopyFile函数定义在Windows.h中,使用时要include之;
2019-12-17 18:09:17 2563
原创 error C4996: ‘strcpy‘: This function or variable may be unsafe. Consider using strcpy_s instead.
今天编写C++程序在使用头文件#include中的strcpy()和strcat()函数时出现了一个错误:error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.在网上搜了一下大概知道怎么解决了,并且知道为什么出现这个错误——出现这个错误时,是因为strcpy()和strcat()函数不安全造成的溢出。 解决方法是:找到【项目属性】,点击【C
2019-12-17 17:03:58 932
原创 Docker容器安全性分析
与虚拟化技术相比,Docker容器技术具有敏捷化、轻量化等特点,在推进云原生应用方面具有不可替代性。与此同时,容器技术对于高效性的追求也牺牲了隔离性等安全要求,在安全性方面与虚拟化技术相比还存在较大差距,且所涉及的面较广,涉及到容器的镜像安全、内核安全、网络安全、虚拟化安全、运行时安全等各个层面。在应用容器技术进行系统部署时,应充分评估安全风险,根据应用场景制定相应安全需求,并整合相关安全解决方案,形成容器安全应用最佳实践。
2019-12-17 11:08:56 1853
原创 Python判断端口服务是否启动
如果一个进程启动多个服务,就需要应用端口判断的方法判断服务是否正常。 def check_servers(self): logger.debug("Check honeypot servers thread start.") cmd = "netstat -tlnp" while (True): try: ...
2019-12-16 11:20:28 1561
原创 Python3 获取当前路径,当前文件名,当前文件名路径、指定import的文件路径、程序路径
获取当前路径:import osprint (os.getcwd())获取当前文件名:import sysprint (sys.argv)获取当前文件名路径:import osimport sysprint (os.path.join(os.getcwd(), sys.argv))获取指定import的文件路径import con...
2019-12-13 19:34:55 2473
转载 浅谈渗透测试之前期信息搜集
一、常规信息搜集之域名1,备案号查询备案号是网站是否合法注册经营的标志(中国每个公司都有备案,国外则没有),进行备案号查询及反查,出现公司相关资产站长之家https://icp.chinaz.com备案查询网http://www.beianbeian.com/国家企业信用信息公示系统:http://www/gsxt.gov.cn/index.html2,子域名子域名...
2019-12-12 10:42:50 1421
原创 OmniPeek7.1安装教程(流量工具)
1. 下载OmniPeek7.1版本,记得要有注册机的安装包,网上一大堆请自寻下载2. 点击 setup.exe 启动安装程序3. 点击 Install OmniPeek 进行安装4. 选择第二项5. 运行keygen6. 输入71版本获取 Serial Number7. 将Avtivation Key 复制到 Key中8. 一直下一步......
2019-12-10 18:22:53 545
原创 抓取流量分析恶意软件或泄密流量(精)
1. 打开Wireshark2. 设置抓包大小(IP可选)3. 应用omnipeek进行专家分析4. 过滤IP流量包,通过shell脚本#!/bin/bashmkdir Xmkdir HA=`ls -l | grep -v ^d | grep -v sl.sh | awk '{print $9}'`for B in $Ado tcpdunp -n -r $B...
2019-12-09 22:08:18 1199
原创 Shell通过过滤条件(比如IP)分类流量包,最后合并流量包
1. shell脚本#!/bin/bashmkdir Xmkdir HA=`ls -l | grep -v ^d | grep -v sl.sh | awk '{print $9}'`for B in $Ado tcpdunp -n -r $B host 192.168.91.152 -w $B.cap n=`ls -l $B.cap | awk '{print $...
2019-12-09 22:08:17 273
原创 杀毒软件开发,原理、设计、编程实战
https://www.freebuf.com/articles/system/220061.htmlhttps://www.freebuf.com/articles/system/220573.html注入exe文件PE头,打开时发出“嘟”的一声#include "stdafx.h"//包含必要的头文件#include <windows.h>...
2019-12-09 16:22:58 1262
原创 curl命令使用介绍
测试常用:curl -v -X GET http://192.168.200.200:17002/index.phpcurl -v -X POST http://192.168.200.200:17002/index.phpcurl -v -X HEAD http://192.168.200.200:17001/index1.htmlcurl -v -X POST --data "da...
2019-12-09 15:50:39 3088
原创 Python3调试类_io.BytesIO、_io.StringIO用法(Python3 IO编程之StringIO和BytesIO)
举例如下。
2019-12-05 11:28:39 15003
原创 Twisted twisted.python.log日志
一个日志监视器是可调用的,并且只接受一次字典作为参数。这条信息是从sys.stdout中捕获的,例如这条信息是从print输出的。如果isError同样为True,则是从sys.stderr来的。如果你使用twistd来运行你的程序作为后台进程,则他会自动托管startLogging,甚至还会自动轮训日志。标准的日志监视器将会忽略他们不用的字典参数。一个布尔值,如果为True时就是从log.err过来的。日志信息,一个列表或字符串,被log.msg或log.err传递过来的。,提供了以天为单位的日志轮询。
2019-12-04 17:30:10 495
原创 Twisted web介绍
建立一个Request类的子类作为请求工厂,或者说请求发布器,其中有识别不同的URL并的能力,通过字典找到该URL对应的函数,调用这个函数并传递self参数。在HTTP协议中,连接之后还有个生成HTTP请求报文的过程,所以构造出了一个Request对象来处理具体的一个HTTP请求的报文。提取请求参数的重点在request.args字典,每个键都是映射到一个列表,为了适应HTTP提交中一个键对应多个值的情况,当然,你也可以只取第一个值。包含请求的数据,这里都是指Request类的成员。
2019-12-04 17:27:54 302
Fortify SCA 20.1.1代码审计
2023-06-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人