- 博客(2148)
- 资源 (58)
- 收藏
- 关注
原创 信息安全工程师笔记-网络设备安全
交换机安全威胁交换机面临的网络安全威胁:①MAC地址泛洪;②ARP欺骗;③口令威胁;④漏洞利用。路由器安全威胁路由器面临的网络安全威胁:①漏洞利用;②口令安全威胁;③路由器协议安全威胁;④DoS/DDos威胁;⑤依赖性威胁。信息加密启用service password-encryption配置,对口令加密保护网络通信网络设备和管理工作站之间的安全通信有两种方式:使用SSH(替代非安全的Telent)和使用VPN。
2021-09-28 08:00:46 428
原创 信息安全工程师笔记-数据库安全
数据库安全威胁①授权的误用;②逻辑推断和汇聚;③伪装;④旁路控制;⑤隐蔽信道;⑥SQL注入攻击⑦数据库口令密码破解;⑧硬件及介质攻击。数据库安全隐患①数据库用户帐号和密码隐患;②数据库系统扩展存储过程隐患;③数据库系统软件和应用程序漏洞;④数据库系统权限分配隐患;⑤数据库系统用户安全意识薄弱;⑥网络通信内容是明文传递;⑦数据库系统安全机制不健全。数据库加密数据库加密方式两种类型:①数据库网上传输的数据,利用SSL协议
2021-09-28 07:59:32 485
原创 信息安全工程师笔记-操作系统安全保护
操作系统安全概念根据安全功能和安全保障要求,操作系统分为:①用户自主保护级;②系统审计保护级;③安全标记保护级;④结构化保护级;⑤访问验证保护级。操作系统安全机制①硬件安全;②标识与鉴别;③访问控制;④最小特权管理;⑤可信路径;⑥安全审计;⑦系统安全增强。Windows认证机制①本地认证:根据用户的本地或Active Directory账户确认身份;②网络认证:三种身份验证技术,Kerberos V5, 公钥证书和NTLM;
2021-09-28 07:58:47 348
原创 Python笔记-类的单例模式及重载打印
重载如下类:class Position(object): def __init__(self, x = None, y = None): self.x = x self.y = y pass def getX(self): return self.x def getY(self): return self.y def setX(self, x): self.x = x
2021-09-28 07:57:52 253
原创 信息安全工程师笔记-网络安全测评技术与标准
基于测评目标分类按照测评的目标,网络安全测评分为三种:①网络信息系统安全等级测评:采用网络等级保护2.0标准;②网络信息系统安全验收测评:评价该项目是否满足安全验收要求中的各项安全技术指标和安全考核目标;③网络信息系统安全风险测评:评估系统面临的威胁及脆弱性导致安全事件的可能性,并提出有针对性的抵御措施。依据网络信息系统构成要素,网络安全测评可分成两类:①技术安全测评:包括物理环境、网络通信、操作系统、数据库系统、应用系统、数据及存储系统等相关技术方面的安全性测试和评估。②管
2021-09-28 07:56:47 2491
原创 Qt笔记-使用正则表达式匹配URL及获取Get请求后面的参数(QRegExp)
如需要拿到xxxxx的值:http://www.it1995.cn/xxxxxxxx代码如下:QRegExp regExp;regExp.setPattern("http://www.it1995.cn/([^()\"' ]*)");如现提取的url为:/db?table=myTable对应的代码: //提取msg中的url和参数 QStringList list = msg.split("?"); this->m_baseUrl = lis
2021-09-28 07:54:33 1491
原创 Qt笔记-当前时间转GMT并转换成英文(Qt构造http头中Date数据)
在HTTP数据包中还有Date头,如下:从中可以知道,里面的时间为GMT时间这里涉及2个知识点:①QDateTime转成GMT时间;②时间toString后,如何把中文替换成英文。解决:从文档中可以知道使用UTC代替GMT。然后就是转成英文和构造时间以及拼接: QLocale locale = QLocale::English; QString format = "ddd,dd MM yyyy hh:mm:ss"; QString curre..
2021-09-21 21:09:36 725
原创 Qt笔记-QTcpSocket跨线程调用(官方推荐方法,非百度烂大街方法)
TCP服务端的经典案例中有个例子,就是当收到TCP客户端连接后,线程池直接开一个线程然后把这个socket指针传到线程里面,依靠新开的线程进程业务处理。但在Qt里面使用这个方式后,会报一个QTcpSocket不能跨线程调用的问题。问题描述是这样的:QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread查了下百度,都是n年前的技术(本博文写于2021-08-11 09:15:
2021-09-21 21:07:42 12579 19
原创 信息安全工程师笔记-网络安全风险评估技术原理与应用
网络安全风险评估要素网络安全分析评估要素包括:资产、威胁、脆弱性、安全措施、风险,各个要素之间相互作用。网络安全风险评估模式①自评估:网络系统拥有者依靠自身力量,对自有的网络系统进行的风险评估活动;②检查评估:检查评估由网络安全主管机关或业务主管机关发起,依据已经颁布的安全法规、安全标准或安全管理规定等进行检查评估;③委托评估:委托评估是指网络系统使用单位委托具有风险评估能力的专业评估机构实施的评估活动。网络安全风险值的计算方法①定性计算方法:分析结果是无关紧要、
2021-09-21 21:04:59 891
原创 Java笔记-Semaphore简单应用实例
这个Semaphore和QSemaphore使用和原理一模一样。这里简单写了个例子,开了10个线程去拿邻界资源,资源只有一个,拿到后要进行5s的业务错了,使用Semaphore,如果此资源被占用,那么该线程将会被挂起。程序运行截图如下:D:\java8\content\bin\java.exe -javaagent:D:\idea\content\lib\idea_rt.jar=52182:D:\idea\content\bin -Dfile.encoding=UTF-8 -class
2021-09-21 21:03:20 486
原创 Python文档阅读笔记-OpenCV中Match Shapes
OpenCV使用cv2.matchShapes()用来对比2个图像是否相似。返回值越低说明2张图片越相似。这个是基于hu-moment值算出来的。代码如下:import cv2import numpy as npimg1 = cv2.imread('star.jpg',0)img2 = cv2.imread('star2.jpg',0)ret, thresh = cv2.threshold(img1, 127, 255,0)ret, thresh2 = cv2.threshold(i
2021-09-21 20:56:15 2139
原创 信息安全工程师笔记-网络安全主动防御技术与应用
入侵防御系统(IPS)入侵防御系统(Intrusion Prevention System)是一种主动的、积极的入侵防范及阻止系统(防火墙是被动的),它部署在网络的进出口处,当检测到攻击企图后,自动地将攻击包丢掉或采取措施将攻击源阻断。IPS与IDS(Intrustion Detection System)的区别部署方式不同:①IDS产品在网络中是旁路式工作;②IPS产品在网络中是串接式工作。串接式工作保证所有网络数据都经过IPS设备,IPS检测数据流中的恶意代码,核对.
2021-09-21 20:54:21 1849
原创 Python笔记-uiautomator2截图点击,OpenCV找图
对应的代码如下:import timeimport uiautomator2 as u2import cv2import numpy as npd = u2.connect_usb("6e0bc87e")displayWidth = d.info['displayWidth']displayHeight = d.info['displayHeight']if __name__ == '__main__': d.screenshot('pic/1.png') im
2021-09-14 08:50:01 3152
原创 Python文档阅读笔记-OpenCV中Template Matching
目标通过模板匹配在一张图中找相似图。原理模板匹配这个方法是在一个大图中找小图的功能,OpenCV中使用cv.matchTemplate()这个函数实现。在OpenCV中可以填写几种参数。这个函数的返回值是灰度图,其中,每个像素表示该像素的邻域与模板匹配的程度。如果输入图像的大小为W * H模板图像的大小为w * h,则输出图像的大小为(W - w + 1) * (H - h + 1)。得到结果后,可以使用cv.minMaxLoc()函数去找里面的最大值和最小值,将其作为矩形的左上角,并.
2021-09-14 08:47:31 571
原创 信息安全工程师笔记-恶意代码防范技术原理
恶意代码定义违背目标系统安全策略的程序代码,会造成目标系统信息泄漏、资源滥用,破坏系统的完整性及可用性;它能够经过存储介质或网络进行传播,从一台计算机系统传到另外一台计算机系统,未经授权认证访问或破坏计算机系统。恶意代码分类被动传播:①计算机病毒、②特洛伊木马、③间谍软件、④逻辑炸弹主动传播:①网络蠕虫、②其他恶意代码攻击模型攻击过程分为6个步骤:①入侵系统;②维持或提升自己已有的权限;③隐蔽;④潜伏;⑤破坏;⑥重复前面5步对新的目
2021-09-14 08:44:30 2880
原创 Python笔记-利用OpenCV的matchTemplate屏幕找图并使用pyautogui点击
要找的图为计算机,也就是icon.png,对应的图标为:需要安装的依赖:pip install cv2pip install PILpip install pyautogui代码如下:import cv2from PIL import ImageGrabimport numpy as npimport pyautoguiif __name__ == '__main__': im = ImageGrab.grab() im.save('./res/sc.
2021-09-14 08:42:49 3681 2
原创 信息安全工程师笔记-网络安全漏洞防护技术原理与应用
网络安全漏洞概念根据漏洞的补丁情况,漏洞分为:①普通漏洞:相关漏洞信息已经广泛公开,安全厂商已经有了解决修补方案;②零日漏洞(zero-day vulnerability):指系统或软件中新发现的、尚未提供补丁的漏洞。零日漏洞常被用来实施定向攻击。网络信息系统漏洞的来源:①非技术性安全漏洞:涉及管理组织结构、管理制度、管理流程、人员管理;②技术性安全漏洞:涉及网络结构、通信协议、设备、软件产品、系统配置、应用系统。网络安全漏洞扫描网络安全漏洞扫描是一种用于检测系统中漏
2021-09-14 08:41:12 501
原创 信息安全工程师笔记-入侵检测技术原理与应用
入侵检测:通过收集操作系统、系统程序、应用程序、网络包信息,发现系统中违背安全策略或危及系统安全的行为。具有入侵检测功能的系统称为入侵检测系统,简称为IDS。通用入侵检测模型通用入侵检测框架模型(CIDF)认为入侵检测系统由事件产生器、事件分析器、响应单元、事件数据库组成。基于误用的入侵检测技术检测与已知的不可接受行为之间的匹配程度。这种检测模型误报率率、漏报率高。对于已知的攻击,它可以详细、准确的报告出攻击类型,但是对未知攻击却效果有限,而且特征库必须不断更新。.
2021-09-14 08:39:00 2430
原创 Linux笔记-Centos7编译安装GmSSL
这里我的OpenSSL版本为1.0.2先升级到1.1.0wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1-stable.zipunzip OpenSSL_1_1_1-stable.zip./config --prefix=/usr/local/opensslmake && make install替换旧的opensslmv /usr/bin/openssl /usr/bin/openss
2021-09-07 08:44:01 1402
原创 HTTPS|SSL笔记-SSL双向认证失败(服务端证书信任库不含客户端证书)握手过程(含wireshark分析)
这里我把服务端信任库添加了其他证书,不含客户端的证书,这时SSL认证失败报错如下。下面来分析下:1. 首先是TCP三次握手,对应的包如下:2.握手成功后,客户端发送自己支持的加密套,和随机数给服务端,也就是Client Hello对应的是这个:具体内容如下:其中Random为随机数、Cipher Suites为加密套及signature_algorithms为签名算法。4. 服务端收到后回复ACK,对应的包如下:5.服务端发送自己的...
2021-09-07 08:41:30 1519 1
原创 HTTPS|SSL笔记-SSL双向认证失败(客户端证书信任库不含服务端证书)握手过程(含wireshark分析)
这里我把客户端证书信任库里面清空,及没放服务端证书,Java报错不一样,但抓包是一样的,在此记录下过程。1. 前3个包是TCP三次握手,在此不解析,对应的包如下:2.握手成功后,客户端发送自己支持的加密套,和随机数给服务端,也就是Client Hello具体内容如下:其中Random为随机数,其Handshake Type为Client Hello。CIpher Suites为加密套。signature_algorithms为签名算法这里可以。3. 服务...
2021-09-07 08:37:54 1849
原创 HTTPS|SSL笔记-SSL双向认证成功握手过程(含wireshark分析)
这里只研究连接过程。整体的流程是这样的前三个那个SYN、SYN ACK、ACK是TCP三次握手,就不说了。1. 握手成功后,客户端发送自己支持的加密套,和随机数给服务端,也就是Client Hello对应的是这个:其中内容2. 服务端收到Client Hello回复Ack3. 服务端发送自己的随机数以及选择一个加密套以及服务端证书给客户端也就是Server Hello对应的包:具体内容如下:可知Handshake为Ser...
2021-09-07 08:35:00 3450
原创 Java笔记-DH密钥交换获取密钥及AES加解密
DH密钥交换是这样的:程序运行截图如下:D:\java8\content\bin\java.exe -javaagent:D:\idea\content\lib\idea_rt.jar=61009:D:\idea\content\bin -Dfile.encoding=UTF-8 -classpath D:\java8\content\jre\lib\charsets.jar;D:\java8\content\jre\lib\deploy.jar;D:\java8\content\jre\li
2021-09-07 08:28:13 1883
原创 Python文档阅读笔记-PyAutoGUI基本使用
PyAutoGUI使用Python来控制鼠标和键盘。PyAutoGUI可以在Windwos,macOS、Linux上跑。安装:pip install pyautoguiPyAutoGUI的特性:①移动鼠标或点击或输入;②发送按键到应用程序上;③找图,拿个图片,然后在屏幕上找到这个图;④调整应用窗口大小,放大,缩小等;⑤显示消息框进行交互。代码如下:import pyautoguiif __name__ == '__main__': screenWi
2021-08-31 09:13:26 1050
原创 Java笔记-SM3(国密3)和SM4(国密4)的使用
SM3是签名算法,和MD5一样(对于应用层来说)。SM4是对称加密算法,和AES一样(对于应用层来说)。这里还有1点要注意的SM4,的密钥是128位,也就是16个字节。程序运行截图如下:D:\java8\content\bin\java.exe -javaagent:D:\idea\content\lib\idea_rt.jar=62511:D:\idea\content\bin -Dfile.encoding=UTF-8 -classpath D:\java8\content\j
2021-08-31 09:10:57 12406
原创 Android|Qt笔记-某App注册机思路总结
现在是2021-08-01 23:20:44,目前这篇博文还在笔记里面,估计发布到网上已经是1个月后了。目前写了一个App的注册机:这里是单线程的,差不多30-50s可以注册一个帐号。这个程序不开源只讲解下思路:①目前大部分的移动端App都是restful风格的,app只是作为客户端。所以设置好wifi代理,电脑使用抓包工具抓包,我这里用的是Fiddler,要确保能抓包。②抓到包后进行分析,提交的数据有无签名,时间戳,护盾,等字段,如果有,说明服务端有校验,使用Andr.
2021-08-31 09:09:20 1115
原创 信息安全工程师笔记-数字证书
概念数字证书也称公钥证书,是由证书认证机构(CA)签名的,包含公开密钥拥有者信息、公开密钥、签发者信息、有效期、以及扩展信息的一种数据结构。数字证书基本信息域序号 项目名 描述 1 version 版本号 2 serialNumber 序列号 3 signature 签名算法 4 issuer 颁发者 5 validity 有效日期 6 subject 主体 7 subjec
2021-08-31 09:07:06 504
原创 Java笔记-SM2(国密2)的调用及SM2、SM3、SM4使用场景
注意:本博文仅仅说明SM2的使用,应用场景等,不研究其算法。SM2是非对称加密算法,对应应用层程序员来说,使用逻辑和RSA一样。他的最主要的功能:①非对称加密;②签名和验签对于应用层程序员来说,必须熟悉他的使用,以及他的应用领域,一般在写一个安全的应用时,如果单单使用SM2是不安全的,基本上SM2、SM3、SM4都会同时使用。一般都是用SM4对数据内容加密,使用SM3,对内容进行摘要,再使用SM2,对摘要进行签名。这个是数据发送端做的事情。接收端,先用SM2,对摘要进行验签,验签
2021-08-31 09:05:57 40969 14
原创 信息安全工程师笔记-国产密码算法(国密)概念
国产密码算法国产密码算法有SM1分组密码算法、SM2椭圆曲线公钥密码算法、SM3密码杂凑算法、SM4分组算法、SM9标识密码算法。算法名称 算法特征描述 SM1 对称加密,分组长度和密钥长度都为128比特 SM2 非对称加密,用于公钥加密算法、密钥交换协议、数字签名算法 SM3 杂凑算法,杂凑值长度为256比特 SM4 对称加密,分组长度和密钥长度都为128比特 SM9 标识密码算法,支持公钥加密、密钥交换、数字签名等安全功能 ...
2021-08-31 09:04:19 1933
原创 信息安全工程师笔记-RSA密码
相关数学基础欧拉函数:对于一个正整数n,小于n且与n互素(质)的正整数的个数,记为φ(n)。对于一个素数n,可知φ(n)=n-1对于两个素数p和q,它们的乘积满足n=p*q,则可知φ(n)=(p-1)*(q-1)素数:一个数只能被1和它本身整除。互质:gcd(a,b)表示a和b的最大公约数,gcd(a,b)=1,表示a,b的最大公约数为1,说明互质。同余:两个整数a,b若它们除以整数m所得的余数相同,则称a与b对于模m同余,或a同余b模m,记作a≡b(mod m)如:40≡1
2021-08-24 08:52:26 3383
原创 信息安全工程师笔记-公钥密钥体制概念
公钥和私钥公开密钥密码的思想是将传统密钥k一分为二,分为加密密钥Ke和解密密钥Kd,用加密密钥Ke控制加密,用解密密钥Kd控制解密。每个用户都将自己的姓名、地址、公开的加密密钥等信息在KMC(密钥管理中心)登记,将公钥记入共享的密钥数据库PKDB(Public Key Database)。公钥加密的安全性确保数据的机密性(加密模式)发送方:①首先查PKDB,查到B的公开的公钥KeB;②A用KeB加密明文M得到密文C:C=E(M, KeB);③A发送密文C给B接收方:.
2021-08-24 08:51:17 1198 1
原创 信息安全工程师笔记-网络攻击常见技术
前言前面说了端口扫描技术,这次笔记再来补充下其他技术。口令破解1.建立与目标网络服务的网络连接;2.选取用户列表文件及字典文件;3.在用户列表文件及字典文件中,选取组用户和口令,按网络服务协议规定,将用户名及口令发送给目标网络服务的端口;4.检测远程服务返回的信息,确定口令尝试是否成功;5.再取另组用户和口令,重复循环试验,直至口令用户列表文件及字典文件选取完毕。缓存区溢出缓冲区是一块连续的计算机内存区域。通过往缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏
2021-08-24 08:50:04 1227 1
原创 信息安全工程师笔记-10种端口扫描技术概念
端口扫描技术分类:这里都不考虑防火墙的情况。1. 完全连接扫描完全连接,利用TCP/IP协议的三次握手连接机制,使源主机和目的主机的某个端口建立一次完整的连接,如果建立成功,则表明该端口开放。否则表明该端口关闭。2. 半连接扫描半连接扫描是指在源主机和目标主机的三次握手连接过程中,只完成前两次握手,不建立异常完整的连接。3. SYN扫描首先向目标主机发送连接请求,当目标主机返回响应后,立即切断连接过程,并查看响应情况。如果目标主机返回ACK信息,表示目标主机的该端
2021-08-24 08:49:15 7810
原创 Java笔记-解决WebServiceTemplate中No subject alternative names matching IP address xxx
主要的原因是证书有问题,就是程序的IP地址和证书的IP地址不匹配。这里是客户端报错,使用的是spring-ws对应的Maven如下; <dependency> <groupId>org.springframework.ws</groupId> <artifactId>spring-ws-security</artifactId> <vers
2021-08-24 08:48:21 4725
原创 Android逆向笔记-IDA Pro动态调试Android程序(真机)
这里的安卓版本是:Android 5.1.1(Lollipop, API 22)LGE Google Nexus 5arm使用的IDA为:IDA Pro 6.8将android_server送到/data/local/tmpadb push android_server /data/local/tmpadb shellsumv android_server android_server6.8chmod 777 android_server6.8将程序跑起来:r
2021-08-24 08:46:45 4077
原创 Android笔记-ERROR: Invalid revision: 3.17.20200511-g8787079
Android Studio版本:报错是这些:往下翻:将版本换成3.10.2File->Settings->System Settings->Android SDK再设置下ndk:File->Project Structure->SDK Location如果报错,在dnk下新建platforms这样就可以了,如果还报错:在local.properties中添加cmake.dir=D\:\\xx...
2021-08-17 09:01:40 647
原创 Java笔记-加密应用在网络通信中的使用
逻辑是这样的:逻辑解释:1.OpenSSL生成RSA私钥和公钥,公钥存客户端,私钥存服务端;2.客户端与服务端的DH分别生成自己的公钥和私钥,并且使用相同的公钥和私钥算法;3.首先客户端把DH生成的公钥使用RSA加密,通过HTTP协议,发送到服务端,服务端把先解密RSA,然后把自己DH模块的公钥发给客户端;4.客户端和服务端都拿到了对方的公钥,再与自己的私钥,通过密钥公式,算出AES加密密钥。后面发送数据时都通过AES加密。程序运行截图如下:关键源码如下:..
2021-08-17 08:58:43 517
原创 Java笔记-DH密钥交换
DH密钥交换主要是两个公式的编写,即: ·公钥计算公式; ·密钥计算公式;生成随机数作为私钥截图如下:源码如下:DH.javapackage cn.it1995.tool;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.Random;public class DH { private ...
2021-08-17 08:56:06 942
原创 Java笔记-对称加密AES的使用
AES加密库的使用: ·根据AES密钥创建Secret密钥向量; ·生成初始化参数向量; ·获取AES Cipher; ·执行加密; ·Base64编码(建议)程序运行截图如下:调用如下:public static void main(String[] args) throws UnsupportedEncodingException { String content = "123456"; AES aes = ne...
2021-08-17 08:54:28 920
原创 Java笔记-非对称加密RSA的使用
使用OpenSSL生成对应RSA私钥和RSA公钥:#rsa私钥:genrsa -out rsa_private_key.pem 1024pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform pem -nocrypt -out rsa_private_key_8.pem#rsa公钥:rsa -in rsa_private_key_8.pem -pubout -out rsa_public_key.pemBase64使用的是这样Ma
2021-08-17 08:52:57 1337
Qt文本转化工具 realase版本
2019-01-19
Qt文件编码转换工具源码
2019-01-19
libX11生成libX11-xcb.so.1
2018-11-13
基于RFID门禁系统源码 ,C/C++
2017-09-10
Qt+Opencv-PCA人脸识别+视频
2017-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人