网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一、教学用的题库网址
我会以NSSCTF,BUUCTF平台的题目做教学,后面也会加其他平台。
NSSCTF网址https://www.ctfer.vip/indexhttps://www.ctfer.vip/index
注册教程,这个网站有提示,照着走呗。
BUUCTF
BUUCTF在线评测BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。https://buuoj.cn/challenges
二、刷题加学习
实验1—nc的使用与系统命令执行
实验准备-请在实验前完成下载
Linux虚拟机,我觉得CTF选手应该都有吧。没有的话建议装Kali。界面很帅,内置工具多,专业攻击机。CentOS,Unbuant也行,其实没那么高要求。安装教程?先百度去吧,后面有可能我自己补一篇。----
以下提供2种虚拟机软件选择
VirtualBox
VMware
以下提供3种linux系统选择
kali官网
Kali Linux | Penetration Testing and Ethical Hacking Linux Distribution
乌班图官网
CentOS官网
正式开始
B站配套视频
PWN入门-nc指令使用与PWN基础linux简单指令_哔哩哔哩_bilibili
1.test_your_nc ----nc的使用与系统命令执行1
BUUCTF平台–test_your_nc
不要跳着看,接下来细节满满开始啦。
可以在搜索栏,搜索题目名称,开启环境。
学习目标:
- 学会nc指令的使用
- 学会使用拿到系统控制权后的指令执行
- kali控制台使用
解题流程(我会很细心的写,不像他们大多数的wtrite up,只能做出来,但很难懂):
开启环境
是不是看到node4.buuoj.cn:27399啦,这个就是你的服务器地址,啥?你个大聪明想用浏览器打开,想啥呢?协议不对啊,这不是HTTP。
基本上题目服务器地址就是以下2种形式
域名:端口号 如本题
IP地址:端口号 如192.168.32.12:10001
打开虚拟机,使用nc连接服务器
开机
桌面右键点击在这里打开终端
大黑框出现了,但至少比Windows那个好看,这个可是半透明的呀,朦胧的美感,啧啧。
写指令
指令形式
nc ip 端口号
nc 域名 端口号
本题
nc node4.buuoj.cn 27399
连上去发现光标不动了
尝试输入指令ls(linux系统中显示当前文件下文件名的指令) ,红色为你输入的指令,绿色是执行后显示的当前目录下的文件名。看到flag了吧。是不是很想打开
使用cat指令可以读取Linux上的文件
cat 文件名
本题:
cat flag
去吧,提交你的flag。
2.[SWPUCTF 2021 新生赛]nc ----nc的使用与系统命令执行2
学习目标:
- 学会nc指令的使用
- 学会使用拿到系统控制权后的指令执行
- 学一点点过滤绕过(大部分题不会有要求绕过过滤)
开启环境
打开虚拟机,使用nc连接服务器
写指令
指令形式
nc ip 端口号
nc 域名 端口号
本题
nc node1.anna.nssctf.cn 28456
弹出乱七八糟的玩意。
看不懂,去把附件下载下来
里面是python代码,分析一下
权限直接给我们了,但看程序逻辑,当用户输入列表blacklist中字符串时,自动结束程序。
此时如果输入ls(Linux系统中查看当前目录下文件的指令),就会退出。所以需要绕过这个过滤。
使用l\s,执行时l\s=ls,但在字符串判断时肯定不是相同的。
如图,我输入了l\s,列出了当前目录下的文件,那么大个flag看到没有,那接下来就要访问它。
我们使用cat指令,读取文件(回头看一下,cat也被过滤了,没事,再加条,变成c\at flag)
cat 文件名
cat flag
此题存在过滤
要绕过处理
c\at$IFS$9flag
$IFS$9可以替换空格
出来了。
练习题(想起来我就会添加上来,会不断更新,内容不会超出已学习内容)
平台+2:Bugku和ctfshow
首页 - Bugku CTF国内最活跃的CTF平台,每日更新题目。https://ctf.bugku.com/ctf.show
https://ctf.show/
1.Bugku --瑞士军刀
2.ctfshow-PWN签到题
3.NSSCTF-Does your nc work?
4.BUUCTF-others_shellcode
实验二-权限提升
实验前准备
- IDA7.7pro
学习目标:
- 了解权限提升
- IDA简单使用
所谓权限提升就是获取服务器系统权限,执行指令。最常见的就是system()。
PWN的过程,用户机发起nc链接,与控制访问程序交互,利用漏洞让控制访问程序执行system(),从而运行我们输入的系统指令。
B站配套视频
PWN入门2-PWN过程与权限提升_哔哩哔哩_bilibili
1、[NISACTF 2022]ReorPwn? --system(cmd)
下载附件,将附件赋值一份到linux中,执行checksec指令,可以查看这个控制程序的信息。
第一行显示了64位,所以我们可以用IDApro7.7的64位版本打开
直接点击OK
这个页面按下F5,反汇编为伪代码
看到关键函数system()
点进去看一下,是不是我们要的那种。双击那个system(a)
好极了,就是这个。再来看一下变量command是如何传进去的,左上角箭头,回到历史记录
再分析一下程序,用户的输入被存到了变量a中,a经过fun函数后,传入system函数执行,也就是说,command就是a,也就是用户的输入。
再双击fun看一下,有没有特殊处理
经典的字符串倒置代码,也就是说,它会把你的输入倒过来,即ls->sl ,cat flag->galf tac
所以我们输入指令要倒着输入.
2、 简单点的题找不到了,后面补上 --system(“bin/sh”)
其实和system(cmd)那种没太大区别,就是这个会拉起控制台执行命令。效果其实一样
练习题
。。。待补充
实验三、向数组填充数据并简单写一个攻击脚本
内容视频,文章偷懒不写。嘻嘻嘻
B站配套视频
PWN入门3-填充数据和写一个简单攻击脚本_哔哩哔哩_bilibili
实验四-栈溢出基础题型
啥?找不到资源。我分享行了吧
IDA pro7.7
链接:https://pan.baidu.com/s/11YzTTBgDzlrg8a_k-raqqw?pwd=6666
提取码:6666
解压后
执行,选择yes即可完成破解
python安装pwn教程,推荐去看B站星盟安全PWN入门第一集环境安装。不是引流啊,我是确实觉得还可以,小哥哥声音很好听的,对于我这种声控来说简直爱了爱了。
实验前预习知识
请完成以下几个视频的观看(顺序)
3.1.1_栈的基本概念_哔哩哔哩_bilibili3.1.1_栈的基本概念是王道计算机考研 数据结构的第20集视频,该合集共计97集,视频收藏或关注UP主,及时了解更多相关视频内容。https://www.bilibili.com/video/BV1b7411N798?p=20&vd_source=b0baa38241452f542afabdf70d10fca7
【算法】数据结构中的栈有什么用?_哔哩哔哩_bilibili介绍数据结构中的栈stack,以及两个小例子。, 视频播放量 8831、弹幕量 8、点赞数 390、投硬币枚数 224、收藏人数 299、转发人数 104, 视频作者 从0开始数, 作者简介 ,相关视频:数据结构与算法(合集),什么是算法,算法与数据结构,栈的基础知识,已知入栈序列,求出栈元素,汉诺塔小游戏和递归思想,【喵的算法课】栈与队列 表达式计算【4期】,数据结构难点分析,学习建议,数据结构的使用-栈(Stack),学数据结构之前 必看,【散装数据结构】#01:栈,【数据结构】栈->入栈和出栈https://www.bilibili.com/video/BV1hp4y1x7u9/?spm_id_from=333.337.search-card.all.click&vd_source=b0baa38241452f542afabdf70d10fca7,什么是算法,算法与数据结构,栈的基础知识,已知入栈序列,求出栈元素,汉诺塔小游戏和递归思想,【喵的算法课】栈与队列 表达式计算【4期】,数据结构难点分析,学习建议,数据结构的使用-栈(Stack),学数据结构之前 必看,【散装数据结构】#01:栈,【数据结构】栈->入栈和出栈https://www.bilibili.com/video/BV1hp4y1x7u9/?spm_id_from=333.337.search-card.all.click&vd_source=b0baa38241452f542afabdf70d10fca7")
一个玩玩数据结构的网站
学习目标
- 了解数据结构栈
- 了解栈溢出
- 利用栈溢出提升权限
- pwntools初体验
B站配套视频链接
rip—极简栈溢出
BUUCTF rip
学习目标:
- 简单使用IDApro7.7
- 理解栈溢出
- 了解危险函数gets()
第一步:nc链接,熟悉环境
他要是光标不动了,八成在等你输入,随便输点啥玩意
第二步:下载文件,使用checksec指令检查文件保护(控制台打开的位置要与文件在同一级下)
否则会报错找不到
指令
checksec 文件名
checksec pwn1
检查结果,第一行显示这个是64位程序,下面的以后会讲到
第三步:IDA打开文件
IDA是有32位和64位的,你安装时这两个是一起安装的。我们在上一步已经知道程序位数(位数错了将无法反编译看伪代码)
用IDA64.exe打开文件。大家可以学我将快捷方式放在文件附近,可以直接将文件拖动到图标上打开。
点击OK ,进入IDA,直接shift+F12进入字符串窗口
看到熟悉的字符串没?这就是熟悉环境的作用,利用这个可以快速找到主函数,方便我们分析代码
双击它
在此处,双击右侧发黄那个玩意,那里显示的是调用这个字符串的函数,
在这里F5,反编译代码,生成伪代码
gets()是个危险函数,它会一直读取用户的输入,造成栈溢出
int __cdecl main(int argc, const char **argv, const char **envp)
{
char s[15]; // [rsp+1h] [rbp-Fh] BYREF
puts("please input");
gets(s, argv);
puts(s);
puts("ok,bye!!!");
return 0;
}
### 给大家的福利
**零基础入门**
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
![](https://img-blog.csdnimg.cn/img_convert/95608e9062782d28f4f04f821405d99a.png)
同时每个成长路线对应的板块都有配套的视频提供:
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a91b9e8100834e9291cfcf1695d8cd42.png#pic_center)
因篇幅有限,仅展示部分资料
网络安全面试题
![](https://img-blog.csdnimg.cn/img_convert/80674985176a4889f7bb130756893764.png)
绿盟护网行动
![](https://img-blog.csdnimg.cn/img_convert/9f3395407120bb0e1b5bf17bb6b6c743.png)
还有大家最喜欢的黑客技术
![](https://img-blog.csdnimg.cn/img_convert/5912337446dee53639406fead3d3f03c.jpeg)
**网络安全源码合集+工具包**
![](https://img-blog.csdnimg.cn/img_convert/5072ce807750c7ec721c2501c29cb7d5.png)
![](https://img-blog.csdnimg.cn/img_convert/4a5f4281817dc4613353c120c9543810.png)
**所有资料共282G**,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
mg.cn/img_convert/9f3395407120bb0e1b5bf17bb6b6c743.png)
还有大家最喜欢的黑客技术
![](https://img-blog.csdnimg.cn/img_convert/5912337446dee53639406fead3d3f03c.jpeg)
**网络安全源码合集+工具包**
![](https://img-blog.csdnimg.cn/img_convert/5072ce807750c7ec721c2501c29cb7d5.png)
![](https://img-blog.csdnimg.cn/img_convert/4a5f4281817dc4613353c120c9543810.png)
**所有资料共282G**,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**