1.test_your_nc ----nc的使用与系统命令执行1
平台:buuctf
之前在攻防开学来考核的时候,遇到过一个nc的题,但自己完全不知道nc是什么意思,所以现在为了增强一点自己的知识面(说的好听,也就是为了快期末考试了,浅浅抱个佛jio而已哈哈哈哈哈)
nc,全称为NetworkConnection,是一种网络连接的工具,可以用来在两台计算机之间建立网络连接。它是一种简单的网络连接工具,可以帮助用户在不同的计算机之间传输文件和数据。
解题流程:
1.开启环境
下意识的认为这是个网址,拖上去就用,发现没有任何的作用,自信的认为是没加http://的原因(也不知道是哪里来的勇气)
其实做多了题目就会发现,基本上题目的服务器地址就是2种形式
1 域名:端口号 跟本题所给一样
2 IP地址:端口号 如:192.168.32.12:1001
2.打开虚拟机,用nc连接服务器
(看同学经常研究pwn题,几乎所有的pwn题,他都是在虚拟机上完成的,这也就是我,为什么一直不喜欢pwn的原因,因为我觉得pwn真的很麻烦)
3.打开终端
4. 写指令
指令形式:
nc ip 端口号
nc 域名 端口号
本题按照上述形式
nc node4.buuoj.cn 25027
连上去之后,会发现光标不动了
尝试输入指令ls(linux系统中显示当前文件下文件名的指令)
发现惊现flag字样,(内心欣喜若狂感觉离终点不远了)
使用cat指令可以读取Linux上的文件
cat 文件名
你会发现你若直接输入cat指令,是会报错的,因此输入指令时要保证自己的nc是连接状态
提交flag,拿下
2.[SWPUCTF 2021 新生赛]nc ----nc的使用与系统命令执行2
平台:NSSCTF
根据上题,方法浅浅试一下
好,我们看到开启环境,没有任何问题,下一步nc连接
发现不对劲,跟上题回显的不一样
仔细回审题目发现,还有一个附件没下载
发现是一串代码,仔细瞅瞅好像还是python程序,
仔细分析程序代码,当用户输入端中含有blacklist中的字符串时,将会自动结束程序
此时如果输入ls(Linux系统中查看当前目录下文件的指令),就会退出。所以需要绕过这个过滤。
使用l\s,执行时l\s=ls,但在字符串判断时肯定不是相同的
抱歉!输错了,我上述指令中多输入了一个:,导致回显不对
在此回显下再输入l/s,好嘛,我又犯错了,应该是输入\
再次看到了flag,ok,查看,但是别忘了cat字符串也被过滤了,哦对,空格也被过滤了
所以我们要将cat flag 改成
c\at$IFS$9flag
$IFS$9可以替换空格
其实做了一下,发现pwn的有些题也是需要一点web的知识,像这个过滤,就很像之前web题中的一些命令执行漏洞过滤
3.NSSCTF-Does your nc work?
也就不停的试,发现好像没有过滤啥的,就直接一直ls cat ,发现flag