-
Notifications
You must be signed in to change notification settings - Fork 0
/
search.json
1 lines (1 loc) · 13.9 KB
/
search.json
1
[{"title":"CSV注入","path":"/2024/03/01/csv_injection/","content":"收录:渗透 作者:Tim He Abstract CSV注入漏洞 CSV注入漏洞通常在导出或下载电子表格(包括但不限于xlsx、xls、csv等)的接口。当导出或下载的文件内容用户可控时,攻击者可以构造恶意公式注入表格,用户下载打卡文件后,Excel调用功能执行命令或函数,从而达到攻击目的,造成敏感信息泄露或控制用户计算机等严重问题。 使用CSV等文件作为输入数据源时,攻击者可以在CSV文件中恶意注入数据,例如在字段中输入特殊字符,从而破坏CSV文件格式,导致应用程序无法正确解析CSV文件数据。当用Excel打开CSV文件,文件从CSV描述转变成原始的Excel格式,包括Excel提供的所有动态功能。在这个过程中,CSV中的所有Excel公式都会执行,攻击者可以利用这个漏洞执行SQL注入攻击,命令注入攻击。 CSV文件 CSV保留字(CRLF)可能导致CSV文件内容错乱。 CSV保留逗号做单元格分隔符,保留换行做行分隔符,保留双引号做转义符。 空格,单引号在CSV文件中被认为是有效内容。 若字段中包含双引号、逗号,需要先用双引号包裹内容,再对内容里的符号进行转义。 测试思路 对涉及文档导出、下载功能的外部接口,自外向内进行测试,关注下载文件的内容格式是否为“文本(text)”, 而非“常规(general)”格式。 分析导出文件字段是否用户可控,如果用户不可控,不存在csv注入问题 如果用户可控,检查字符过滤是否全面。如对以=+-\"@开头的内容是否进行处理,处理方式是否考虑全面。尝试注入payload到表格,本地打开表格是否有安全提示。如果注入命令被执行则有CSV注入漏洞 常用payload(需英文全角、半角字符进行检查): 12345678@SUM(cmd|' /C calc'!A2)+cmd|' /C calc'!A2\",cmd|' /C calc'!A2\\\",cmd|' /C calc'!A2=cmd|' /C calc'!A2;=cmd|' /C calc'!A2HYPERLINK(A1,B2)... 防御措施 禁止单元格内容直接以=,+,-,@开头,如需以这些特殊字符开头,要进行转义处理。 设置单元格式为文本格式,对CSV不生效。 ### 特殊场景 存入数据库时保持原数据不变,不删除空格和TAB, 如\\r =+cmd|' /C calc'!A0,去掉后变成=+cmd|' /C calc'!A0 单元格内容只允许字母,数字,下划线,不存在注入风险。 单元格内容允许特殊字符,且不存在=,+,-,@等字符开头,使用正则表达式[^=+-@].+进行校验。 在以=,+,-,@等字符开头的内容,必须采用TAB键+双引号的方式防命令或函数注入。 在=,+,-,@等字符开头添加任意个\\0,仍存在注入风险,需清除\\0, 然后继续处理。 CSV含有,\\r 特殊字符 ,\\r 属于CSV文件单元格换行分隔符,这些字符分割后跟=,+,-,@(等效于单元格内容以这些字符开头),有注入风险。如果需要使用这些字符,可使用\"(双引号限制符)限制,如\",=123\" \"用于限制单元格内容。如1,\"test\",2,第二个单元格内容实际为test, 也能被命令注入。如果必须使用双引号,要用两个双引号转码\"\"且整个单元格都要用\"进行限制。如\"\"\"=12呈现内容为\"=12。","tags":["安全测试"],"categories":["渗透"]},{"title":"basic knowledge in linux deploy","path":"/2024/02/28/deploy-02/","content":"收录:linux deploy Author:ccyyxx Abstract This article will introduce some basic knowledge in linux deployment. How to connect to the linux server and tranfer files to linux server We commonly use the ssh command to connect to server. 123ssh username@hostname#examplessh [email protected] The first name you login, you will be noticed: 123The authenticity of host '10.0.0.1 (10.0.0.1)' can't be established.ECDSA key fingerprint is SHA256:iy237yysfCe013/l+kpDGfEG9xxHxm0dnxnAbJTPpG8.Are you sure you want to continue connecting (yes/no/[fingerprint])? input yes is ok. You can save the server info in the configure file Modify the ~/.ssh/config or /etc/ssh/ssh_config file in order to store information of servers. 12345678Host host1 HostName IP Address or DomainName User fooHost host2 HostName IP Address or DomainName User foo IdentityFile ~/.ssh/foo.key After being configured, just login by 12ssh host1ssh host2 Two ways login in ssh ### By key The way to create ssh key 1ssh-keygen After being executed, you will find id_rsa and id_rsa.pub two directories under ~/.ssh/. And then copy the .key file path to the IdentityFile configure I mentioned above. ### By password transfer file from your local to linux server by scp We can transfer file from source to destination as below 123scp source destination#examplescp ./a.txt [email protected]:/usr/local The file above means transfer ./a.txt file to folder /usr/local of the server 10.0.0.2 . transfer multiple files 123scp source1 source2 destination#examplescp ./a.txt ./b.txt [email protected]:/usr/local transfer folder 123scp -r source_folder destination#examplescap -r ./folder1 [email protected]:/usr/local","tags":["deploy"],"categories":["linux deploy"]},{"title":"postgresql15 and postgis offline install under rhel 9","path":"/2024/02/27/deploy_01/","content":"收录:linux deploy 作者:ccyyxx 绘图:ccyyxx Abstract This blog will introduce about how to install software in linux operateing system(centos series). And I will introduce detail about how to deploy the postgresql 15 and postgis in this blog. The way to install software in linux offline You should prepare a linux with the same version which can connect to the internet first. In Centos series linux, you should download all the .rpm files and all dependcy .rpm files in the server which can access to the internet. Copy all download .rpm files from the server which can connect to internet to the server which cannot. The detail way of installing postgresql15 and postgis offline in rhel9 The reason I mention about this because it is an example of how to do it and I have done it recently. The most important reason is that there is no complete .rpm dependecies about it and I will record it, in case someone needs it. First we should install the .rpm files for postgresql15: 1234sudo yum localinstall \\postgresql15-libs-15.2-1PGDG.rhel9.x86_64.rpm \\postgresql15-15.2-1PGDG.rhel9.x86_64.rpm \\postgresql15-server-15.2-1PGDG.rhel9.x86_64.rpm The code above shows that how to use yum to local install .rpm files. postgresql 15.2.1 .rpm files download Next we should install the .rpm files for postgis, here I use the postgis34 version. To install it you should extract it first and then do the install: 123sudo tar -xvzf postgis34.tar.gz \\cd postgis34/rpm_folders \\sudo yum localinstall *.rpm --skip-broken If you cannot install it properly, maybe the file in the possbile_rpm may work. It is the same way as above to install. postgis34 rpm files download","tags":["deploy"],"categories":["linux deploy"]},{"title":"常见的概率分布","path":"/2023/12/06/math_03/","content":"收录:计算机数学故事 作者:YY同学Serendipity 离散概率分布 离散均匀分布(Discrete Uniform Distribution) 概率质量函数(PMF): 期望(Expectation): 方差(Variance): 例子:随机抽签 次后中奖()的概率。 伯努利分布(Bernoulli Distribution) 概率质量函数(PMF): 期望(Expectation): 方差(Variance): 例子:发射一枚导弹是否击落敌机()的概率。伯努利分布又名 01 分布 / 两点分布,是二项式分布的 的特殊情况。 二项式分布(Binomial Distribution) 概率质量函数(PMF): 期望(Expectation): 方差(Variance): 例子:一批产品进行 次检验后合格的数量()的概率。 超几何分布(Hypergeometric Distribution) 概率质量函数(PMF): 期望(Expectation): 方差(Variance): 例子:一批产品有 个,其中 个不合格,从 个中任取 个,不合格产品数量()的概率。 几何分布(Geometric Distribution) 概率质量函数(PMF): 期望(Expectation): 方差(Variance): 例子:已知射击比赛选手单次射中目标的概率,求他首次射中目标所需的射击次数()的概率。 负二项分布(Negative Binomial Distribution) 概率质量函数(PMF): 期望(Expectation): 方差(Variance): 例子:某射手连续射击一个目标,射中 次后停止,若已知单次射中的概率,求射击次数()的概率。当 时,即为几何分布。 泊松分布(Poisson Distribution) 概率质量函数(PMF): 期望(Expectation): 方差(Variance): 例子:在一条马路上,已知 30 分钟内看见汽车驶过的概率,求 10 分钟内看见汽车驶过()的概率。 连续概率分布 均匀分布(Uniform Distribution) 概率密度函数(PDF): 期望(Expectation): 方差(Variance): 例子:各个情况发生的概率基本相等(该情况在现实中较为少见)。 指数分布(Exponential Distribution) 概率密度函数(PDF): 期望(Expectation): 方差(Variance): 例子:若电子产品的使用寿命服从指数分布,求该产品在第 年报废的概率。 威布尔分布(Weibull Distribution) 概率密度函数(PDF): 期望(Expectation): 方差(Variance): 例子:轴承的使用寿命服从威布尔分布,指数分布为威布尔分布 时的特殊情况。 高斯分布(Gaussian Distribution) 概率密度函数(PDF): 期望(Expectation): 方差(Variance): 例子:高斯分布又称正态分布,世界上很大一部分事件的概率都服从高斯分布,其中 , 的分布又称标准正态分布。 柏拉图分布(Pareto Distribution) 概率密度函数(PDF): 期望(Expectation): 方差(Variance): 例子:家庭年收入服从柏拉图分布,其中 , 的分布又称标准正态分布。 Beta 分布(Beta Distribution) 概率密度函数(PDF): 期望(Expectation): 方差(Variance): 例子:与二项式分布、 Gamma 分布有密切联系。 Gamma 分布(Gamma Distribution) 概率密度函数(PDF): 期望(Expectation): 方差(Variance): 例子:常见于水文研究,与指数分布、高斯分布有密切联系。","tags":["数学"],"categories":["计算机数学故事"]},{"title":"常见积分方法","path":"/2023/12/04/math_02/","content":"收录:计算机数学故事 作者:YY同学Serendipity 一、积分表法(常用) 二、换元法 1. 第一换元积分法(右合法) 将积分左边的子式凑成积分变量右侧所需的变元,从而改变积分变量,例如 2. 第二换元积分法(左拆法) 将积分变量直接换元,然后将新变元拆到左侧,例如 3. 三角换元法 将积分变量变换为三角函数形式,例如 用 替换,,得 三、分部积分法 为的原函数,则有 该公式可由乘法求导的链式法则推导出 两边积分 移项后有 四、有理函数积分法(多项式分式积分法) 将分式拆成分式多项式和的形式,例如: 然后就可以分别积分求解啦~ 但是请注意:使用这种方法的前提条件是函数是有理分式,即分子分母部分必须是含 的多次多项式。并且最后分母多项式需要能够进行因式分解,例如例子中 。","tags":["数学"],"categories":["计算机数学故事"]},{"title":"三大微分中值定理","path":"/2023/12/02/math_01/","content":"收录:计算机数学故事 作者:YY同学Serendipity 绘图:勤奋的三塔同学🍊 简述 微分中值定理包括罗尔中值定理、拉格朗日中值定理和柯西中值定理,较多出现在证明题中,该知识点往往考察联想记忆以及灵活运用定理的能力,整体难度中。 一、罗尔(Rolle)中值定理 1. 定义 如果函数满足以下三个条件: 1. 在闭区间 上连续 2. 在开区间 上可导 3. 则在 内有一点 ,满足 2. 证明 如果 是常函数,则显然恒存在 如果 不是常函数,假设在 处取到 ,则 因为 可导,即 所以得证 3. 几何意义 一定存在一条绿线(函数的切线)与 轴平行,如图: 二、拉格朗日(Lagrange)中值定理 1. 定义 如果函数满足以下两个条件: 1. 在闭区间 上连续 2. 在开区间 上可导 则在 内有一点 ,满足 2. 证明(采用函数构造法+罗尔定理) 我们先不急着证明,先观察定理的结论。我们会发现,如果将结论进行一下变形: 其结果是不是很像罗尔定理最后 的结论,因此我们需要构造函数 使 尽量与上式左边相同。我们将含有 的项当作自变量 然后积分找到 这样 然后考虑罗尔定理应用的条件是需要找到 因此当 时有 根据罗尔定理,则在 内有一点 ,满足 因此 变形之后即为拉格朗日中值定理的结论 3. 几何意义 一定存在一条切线,它的斜率等于线 的斜率(即两线平行),如图: 三、柯西(Cauchy)中值定理 1. 定义 如果函数满足以下两个条件: 1. 在闭区间 上连续 2. 在开区间 上可导且 则在 内有一点 ,满足 2. 证明(采用函数构造法+罗尔定理) 同理,受拉格朗日中值定理证明的启发,我们先给原式做变形: 然后积分找到 当 时恰好有 所以根据罗尔定理有 变形之后即为柯西中值定理的结论,定理得证 3. 几何意义 一定存在一条绿线(函数的切线)与红线平行,如图: 小结 可能细心的同学已经发现了,对于微分中值定理其实有: 即拉格朗日中值定理是柯西中值定理 时的特例,而罗尔中值定理也是拉格朗日中值定理 时的特例。从几何意义上讲,一定能找到与两个端点连线相平行的函数切线。这三个定理是从特殊情况推广到一般情况,如果理解了这些,相信大家也能很快地记住这三个非常重要的定理。","tags":["数学"],"categories":["计算机数学故事"]}]