靶场:https://www.hackerrank.com/
Task 1:Let’s EchoWrite a bash script that prints the string “HELLO”.
1echo HELLO
A Personalized EchoWrite a Bash script which accepts name as input and displays the greeting “Welcome (name)”
12read NAMEecho "Welcome "$NAME
read从标准输入中读取一行,并把输入行的每一个字段的值指定给后面的变量
或
12...
Reversere1附件:https://www.yk2er0.fun/2020/11/25/nctf2020/re1
12345678910111213141516def encode(a1,a2): v2 = (~a2 | ~a1) & (~a2 | a1) & (a2 | a1) | (~a2 | ~a1) & (a2 | ~a1) & a2 & a1 | a2 & ~a1 | ~a2 & a1; return ((~(32 * v2) | ~(v2 >> 3)) & (~(32 * ...
系统调用程序向系统内核请求服务,通过使用系统调用的方式:
32位程序(__stdcall)在执行系统调用后会pop栈的参数到寄存器,所以在调用后依次排布参数即可.
64位程序传前6个参数直接使用寄存器中存在的值.故在payload中还要插入gadget,将参数放入寄存器中.
syscall
系统调用号
参数1
参数2
参数3
参数4
参数5
参数6
64位
rax
rdi
rsi
rdx
r10
r8
r9
32位
eax
ebx(stack)
ecx(stack)
edx(stack)
stack
stack
stack
(64)sys_read
0
size_t ...
这题蛮有意思,静态编译的,有许多函数可以直接利用,但远程打不通.解决方法是利用mprotect函数修改bss段为可执行
123456789unsigned int __cdecl mprotect(void *addr, size_t len, int prot)//prot为权限标志数,rwx为7{ unsigned int result; // eax result = dl_sysinfo(len, prot); if ( result >= 0xFFFFF001 ) result = _syscall_error(); return result;&...
题目地址:http://game.ctf.show/实际上就是最短路径问题先爬下来路径点,然后python实现最短路径
12345678910111213141516171819202122232425262728293031323334353637383940414243import networkx as nxfrom networkx.drawing.tests.test_pylab import pltdef Dijkstra(G, start, end): RG = G.reverse(); dist = {}; previous = ...
主函数逆出来是这样的:123456789101112131415161718192021222324252627282930313233343536373839__int64 __usercall main_0@<edx:eax>(int a1@<ebx>, int a2@<edi>, int a3@<esi>){ void *v3; // ecx int v4; // eax const char *v5; // eax size_t v6; /...
DES是一个分组加密算法.以64为为分组对数据加密.64为一组明文从算法的一段输入,64位密文输出.
DES是对称算法
密钥长度为56位(数字长度为64位,但每个第8位都做奇偶校验数)初始置换把明文输入块分为64份.然后排列成下面所示密文(IP)输出:
58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,57,49,41,33,25,17, 9,1,59,51,43,35,27,19,11,3,61,53,45,37,29,21,13,5,63,55,4...
电子密码本(ECB)使用分组密码最明显的方式:一个铭文分组加密成一个密文分组因为相同的明文分组永远被加密成相同的密文分组,而且理论上制作成一个包含明文和相应密文的密码本是可能的.然而,如果分组的大小为64位,那么密码本就有2^64项–对于预计算和存储来说太大了. 每个明文分组可被独立地进行加密.不必按次序进行.ECB的问题在于:如果密码分析者有很多明文和密文,那他就可在不知道密钥的情况下获得密码本.在实际情况下,消息格式趋于重复,不同的消息可能会有一些位序列是相同的.这些消息在很大程度上是冗余的或者有很长一段字符串是0和space. 如果密码分析者知道明文A对应密文B,那么无...
安全问题CBC比特翻转攻击
已知明文攻击
如果我们有一组明密文,就可以做到通过修改密文,使密文解密出来的特定位置字符变成我们想要的字符.
经常和web一起出[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
加密流程简述:f()为加密函数,g()为解密函数①:明文1^iv=C1②:f(C1)=密文1③:密文1^明文2=C2④:f(C2)=密文2
攻击流程简述:
①:g(密文2)=C2②:C2^密文1=明文1③:明文1->所需明文a④:f(明文a^密文1)=所需密文a由于CBC中每一组明文都是按位异或和加密.故可选取对应位进行操作.
CBC选择密文攻击
通过CBC...
网址:
https://www.phpmyadmin.net/security/PMASA-2018-4/
摘要文件包含和远程执行代码攻击
描述发现了一个漏洞,攻击者可以在该漏洞中包含(查看并可能执行)服务器上的文件。该漏洞来自代码的一部分,其中页面在phpMyAdmin中重定向和加载,以及对白名单页面的不正确测试。除以下情况外,必须对攻击者进行身份验证:
$ cfg [‘AllowArbitraryServer’] = true:攻击者可以指定他/她已控制的任何主机,并在phpMyAdmin上执行任意代码
$ cfg [‘ServerDefault’] = 0:这绕过登录并运行易...