shell:"shell"通常指的是一个交互式的命令行界面,可以用于执行系统命令和操作。可以说,拿到了shell,你就是服务器的拥有者。自然而然就可以光明正大的查找这台服务器上的flag
解题步骤
- 获取题目附件
- 将附件复制一份到Linux虚拟机中,使用checksec指令检查程序开启的保护和程序的位数(32位或64位)
- 打开题目环境,使用nc指令连接服务器,尝试猜测程序的功能,有时签到题会在你nc上去后,直接提供给你系统权限,此时可直接使用系统指令,寻找flag
- 使用对应位数的IDA工具对附件进行反编译,理解并发现其中的漏洞
- 分析漏洞,使用python和pwntool库编写攻击脚本playload。
- 最后,让你的攻击脚本跑起来,成功拿取权限后,flag即可到手
本博客在B站有配套视频,随博客同步跟新,但博客内容的替换和更新会更加频繁。等博主社恐的毛病处理好,视频会重新录制,现在可能有些糟糕。还望大家见谅
Rotten战队的个人空间-Rotten战队个人主页-哔哩哔哩视频
目录
1.test_your_nc ----nc的使用与系统命令执行1
2.[SWPUCTF 2021 新生赛]nc ----nc的使用与系统命令执行2
练习题(想起来我就会添加上来,会不断更新,内容不会超出已学习内容)
1、[NISACTF 2022]ReorPwn? --system(cmd)
2、 简单点的题找不到了,后面补上 --system(“bin/sh”)
一、教学用的题库网址
我会以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.showhttps://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)那种没太大区别,就是这个会拉起控制台执行命令。效果其实一样
练习题
。。。待补充
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
g-blog.csdnimg.cn/e54c0bac8f3049928b488dc1e5080fc5.png)
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算