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)
统计分析方法
回归模型与分析
聚类分析方法与判别分析
主成分分析方法(数据降维)
预测方法
SPSS统计分析
几何模型
博弈模型
综合评价方法
...
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是一个MyClass ...
常见RSA解密
常见RSA解密脚本
1.已知c,n,r,p,q
例题:[LitCTF2023]
1234567891011121314151617import gmpy2from Crypto.Util.number import long_to_bytes q = 189239861511125143212536989589123569301p = 386123125371923651191219869811293586459 e = 65537c = 28767758880940662779934612526152562406674613203406706867456395986985664083182n = q*pd = gmpy2.invert(e, (p - 1) * (q - 1))print("d=",d)m = pow(c, d, n)print(m)print(long_to_bytes(m))
操作系统安全实验
实验:作业调度算法模拟
【题目描述】
先来先服务调度(FCFS)编程模拟: 对所输入的若干作业,按FCFS算法模拟调度,观察、记录并分析调度的输出结果情况。打开job.c文件,完成FCFS函数的编写。
短作业调度算法非抢占的(SJF)编程模拟:编程实现由短作业优先算法对模拟作业的调度,并观察分析运行结果。打开job.c文件,完成SJF函数的编写。
【输入】
分别输入几个作业的作业号、作业到达时间、作业的服务时间
【输出】
输出调度后每个作业的作业号、到达时间、开始时间、完成时间、周转时间
【输入输出样例1:FCFS算法】
输入
输出
A,0,4;B,1,3;C,2,5;D,3,2;E,4,4;
A 0 0 4 4
B 1 4 7 6
C 2 7 12 10
D 3 12 14 11
E 4 14 18 14
【输入输出样例2:SJF算法】
输入
输出
A,0,4;B,1,3;C,2,5;D,3,2;E,4,4;
A 0 0 4 4
D 3 ...
离散数学
命题演算的基本规律
1.命题的基本概念
关系与映射
考点
1.关系、映射、函数的概念
2.单射、满射、一一映射
3.集合的运算
图
定义14.1
无向图G = <V,E>, 其中:
(1) V ≠ ∅为顶点集,元素称为顶点
(2) E为V&V 的多重集,其元素称为无向边,简称边
定义14.2
有向图D=<V,E>, 只需注意E是V×V 的多重子集
图2表示的是一个有向图,试写出它的 V 和 E
注意:图的数学定义与图形表示,在同构(待叙)的意义下是一一对应的