漏洞扫描
前言
漏洞扫描是一种自动化的网络安全评估方法,旨在检测计算机系统、网络或网络应用程序中的安全漏洞。其基本目的是帮助组织识别和评估可能被黑客利用的安全缺陷,从而及时采取措施进行修复,以保护信息系统的安全。以下是漏洞扫描的几个关键点:
扫描过程:
信息收集:收集目标系统的相关信息,如操作系统类型、开放的服务和端口等。
检测识别:根据收集的信息,检测系统中可能存在的已知漏洞。
评估分析:分析检测到的漏洞,评估其可能对系统安全造成的影响。
报告生成:生成详细的扫描报告,列出发现的漏洞和推荐的安全加固措施。
扫描类型:
网络扫描:检测网络中的设备和服务,如防火墙、路由器、交换机等。
主机扫描:针对单个主机进行深入的漏洞检测。
应用程序扫描:专注于Web应用程序或软件中的安全漏洞。
用途:
合规性要求:许多行业标准和法规要求定期进行漏洞扫描。
风险管理:帮助组织了解其面临的安全风险,并进行优先级排序。
安全加固:通过识别和修复漏洞来增强系统的安全性。
通过定期的漏洞扫描,组织可以及时发现并修复安全漏洞,降低被攻击的风险,是维护网 ...
信息收集(已完结)
前言
网络攻防中的信息收集是网络安全防护和渗透测试过程中的重要环节。这一阶段的目标是尽可能地了解目标系统的详细信息,为后续的安全评估或攻击做准备。以下是一些信息收集的类别和方法:
1. 主动信息收集
主动信息收集可能会与目标系统产生交互,可能会被目标系统的安全设备检测到。
端口扫描:使用工具如Nmap扫描目标系统开放的端口,了解可能的服务。
服务识别:识别端口上运行的具体服务版本,例如HTTP、FTP、SMTP等。
漏洞扫描:利用漏洞扫描工具(如 Nessus)扫描已知漏洞。
网络拓扑发现:绘制网络结构图,了解网络设备和它们之间的连接关系。
2. 被动信息收集
被动信息收集尽量不与目标系统产生直接交互,减少被检测的风险。
DNS查询:搜集目标域名的DNS记录,如A记录、MX记录、TXT记录等。
搜索引擎:利用Google hacking等搜索引擎技巧,查找与目标相关的信息。
社交媒体和论坛:搜集员工或组织在社交媒体和行业论坛上发布的信息。
公开信息查询:查询目标组织的公开信息,如企业注册信息、员工信息等。
网络空间测绘:使用网络空间测绘工具 ...
HTTP请求及Burp Suite的使用(更新中)
前言
HTTP请求是客户端(通常是用户的网页浏览器)与服务器之间进行通信的一种方式。它遵循超文本传输协议(HTTP, Hypertext Transfer Protocol)的标准,用于在Web上传输数据。
以下是HTTP请求的基本组成部分和过程:
1. HTTP请求的组成部分
一个HTTP请求通常包含以下几个部分:
请求行:包括请求方法、URL和HTTP版本。
请求头(Headers):包含关于客户端环境和请求本身的信息,例如用户代理、内容类型、接受类型等。
空行:请求头和请求体之间必须有一个空行。
请求体(Body):包含要发送给服务器的数据,不是所有请求都有请求体。
2. HTTP请求方法
以下是一些常见的HTTP请求方法:
GET:请求指定的资源。
POST:向服务器提交数据,通常用于提交表单或上传文件。
PUT:更新服务器上的资源。
DELETE:删除服务器上的资源。
HEAD:类似于GET请求,但服务器不会返回请求体,只返回响应头。
OPTIONS:用于描述目标资源的通信选项。
PATCH:用于对资源进行部分更新。
...
SQL注入(更新中)
前言
SQL注入是一种常见的网络攻击技术,它主要针对基于SQL语言的数据库系统。攻击者通过在Web应用的输入字段或者URL参数中输入恶意的SQL代码,这些代码在后端数据库执行时,能够绕过正常的访问控制,非法读取、修改、删除数据库中的数据,甚至有可能控制数据库管理系统。
下面简要介绍一下SQL注入的工作原理:
输入验证不严格:当应用程序没有正确地验证或者转义用户的输入,就有可能发生SQL注入。
构造恶意输入:攻击者会在输入字段中输入特殊的SQL语句片段,这些片段会在原有SQL查询的基础上,改变其语义。
SQL语句拼接:应用程序在处理用户输入时,如果没有正确处理,可能会直接将其拼接到SQL查询语句中。
执行恶意SQL:拼接后的SQL语句被发送到数据库执行,恶意部分也得以执行。
获取数据或权限:通过执行恶意的SQL语句,攻击者可以读取敏感数据、修改数据库内容、甚至执行数据库管理系统中的命令。
例如,一个基于SQL的登录查询,如果不对用户输入进行适当的处理,可能如下:
1SELECT * FROM users WHERE username = '[用户输入的 ...
流量分析
例题:陇剑杯2021 webshell 7问
问1
单位网站被黑客挂马,请您从流量中分析出webshell,进行回答:
黑客登录系统使用的密码是_____________。
在wireshake打开流量包,搜索*http contains “password”*找到密码。
问2
单位网站被黑客挂马,请您从流量中分析出webshell,进行回答:
黑客修改了一个日志文件,文件的绝对路径为_____________。(请确认绝对路径后再提交)
搜索http contains “log” && http.request.method == POST,找到日志文件的绝对路径。
上面一段和下面一段需要拼接(第一段的data和第二段的1.php是同级)
问3
单位网站被黑客挂马,请您从流量中分析出webshell,进行回答:
黑客获取webshell之后,权限是______?
搜索whoami,发现317-319有回显
在319中找到flag
问4
单位网站被黑客挂马,请您从流量中分析出webshell,进行回答:
黑客写入的webshell文件名 ...
图片隐写
1.修改png图片宽高
eg.LitCTF2023_羽毛球
开始时题目中提到“羽毛球不完整”“下半身是什么”,所以会很自然的想到图片的宽高出了问题。
所以用010editor打开,修改图片高度。
然后输出图片为flag.png。
就可以得到flag了。
ps:我是直接修改图片高度,当然也可以通过CRC检测的方式算出正确的宽高。
2.基于svd的数字水印模型
eg.KPCTF2024_watermark
数学建模竞赛培训
数学建模竞赛介绍
全国大学生数学建模竞赛(CUMCM)
时间:2024.9.5 18:00 至 2024.9.8 20:00 共74小时
题目:三选一
报名费:CNY300
线性规划和整数规划模型
eg1:
2023年高教社杯全国大学生数学建模竞赛题目A题:定日镜场的优化设计
非线性规划和多目标规范模型
常微分方程
差分方程
偏微分方程
偏微分方程用于求解有明显公式的物理问题。例如:F=maF=maF=ma,Ek=mghE_k=mghEk=mgh,v=ds/dtv=ds/dtv=ds/dt
引例:热传导方程:ut=kΔuu_t=k\Delta uut=kΔu
1.三类偏微分方程的定解问题
1.1
1.2
1.3 双曲型偏微分方程
Python数学建模基础
插值方法
最短路问题、最小生成树问题
最大流与最小费用问题
背包问题、指派问题、旅行商问题
智能优化算法
Matlab软件处理1
Matlab软件处理2
数据处理方法(Python)
统计分析方法
回归模型与分析
聚类分析方法与判别分析
主成分分析方法(数据降维)
预测方法
S ...
python学习(更新中)
第一部分 python基础
数据类型和变量
整数
浮点数
布尔值:True、False
布尔值可以用and、or、not运算
空值:None(特殊值,不是0)
字符串
以单引号’或双引号"括起来的任意文本,比如’abc’,"xyz"等等
转义字符?
是什么
为什么要转义字符?
‘’‘print(‘I'm ok.’)’‘’
‘’‘print(’\\t\‘)’‘’
多行字符
‘’‘print(’‘‘hello,\nworld’’‘)’‘’
r
‘’‘print(r’‘‘hello,\nworld’’') ‘’'的区别
1.print函数
1.0使用方式:
把要输出的内容放在()内。
例如:
1print(90) # 输出的是数字
12a=50print(a) # 输出的是变量的值
123a=1b=3print(a+b) # 输出的是运算结果
12print('没有网络安全,就没有国家安全') # 输出的是字符串# 需要注意的是,字符串还可以放在'''与'' ...
JPEG
一道题的引入
你知道一张JPEG图片是怎样炼成的吗?
灰度图像,8x8分块,DCT变化,接下来应该是?
将flag{}替换为NSSCTF{}后提交
hint:https://www.bilibili.com/video/BV1H2421F7sg/
-题目名称:JPEG是怎样炼成的-
-题目来源:GHCTF 2024-
PHP反序列化(更新中)
前言
在PHP中,序列化和反序列化是两种常用的处理对象的方法。序列化是将对象转换成一个可以存储或传输的字符串的过程,而反序列化则是将这个字符串转换回原始对象的过程。
以下是在PHP中进行反序列化的基本步骤:
序列化对象
首先,你需要有一个已经被序列化的对象。在PHP中,你可以使用serialize()函数来序列化一个对象。
123456class MyClass { public $var1 = 'value1'; public $var2 = 'value2';}$obj = new MyClass();$serializedObj = serialize($obj);
存储序列化字符串
序列化后的字符串可以存储在文件、数据库或通过HTTP请求发送。
反序列化对象
当你需要使用这个对象时,可以使用unserialize()函数来反序列化字符串。
1$unserializedObj = unserialize($serializedObj);
现在$unserializedObj是一个MyClas ...
