1.1
使用wireshark打开其中的“Good.pcapng”流量包
所以选择“http”协议的网络攻击
JWT1
使用wireshark打开其中的“goroot.pcap”流量包
发现有HTTP包,直接过滤HTTP包,右键选择“追踪流”进入http流,
JWT2
一个一个地跟包,发现在第十个的时候JWT有变动
直接拿去base64解码,
获得的有效信息:{"alg":"HS256","typ":"JWT"}{"id":10087,"MapClaims":{"username":"admin"}}
得到:10087#admin
JWT3
这道题让我们通过流量分析找到 黑客获取webshell后得到的权限是什么。
经过分析,我们通过上面的这张两张图中的数据包分析发现攻击者使用了whoami命令,根据回包得知 ,其获取的权限是root权限。
jwt4
这道题目是让找到黑客上传的恶意文件的文件名
通过上面这张图我们可以看到 攻击者利用mv命令 对一个临时文件夹下的一个从名字看就很像是恶意文件(1.c)的文件进行了操作, 所以我在这里猜测是 恶意文件是1.c 提交发现结果正确
jwt5的 wp
这道题让找以so为后缀的文件
我在找的过程中发现了 looter.so这个文件 所以提交了上去 发现结果正确
jwt6 的 wp
分析到上图的这个包时,由于我们已经知道了 looter.so是恶意编译的文件,然后我们通过上图又看到 这个恶意文件与一个配置文件进行了一些操作,那么被修改的配置文件就是这个 /etc/pam.d/common.auth 提交后发现答案正确
webshell第一题的wp
打开之后就是流量分析,题目问的是登陆系统用的密码,那就直接使用wireshark过滤出http和post请求(使用http && http.Request.method == “POST”)
然后点开了第一个包,就在这个包的表单里面看到了密码
所以 这道题的答案就是 Admin123!@#
发现有 HTTP 包,直接过滤 HTTP 包
跟进“追踪流”,
得到密码: Admin123!@#
webshell第四题的wp
让我们通过流量分析找到webshell的文件名,我们通过分析下面这个包得到了答案
我们在使用wireshark进行流量分析的时候发现了这个文件(1.php),这明显很可能就是一个webshell文件名(稍微有经验的ctfer都能看出来,这里不多赘述)
或者继续跟进流量包,慢慢寻找POST传递的包
发现一个文件“1.php”,猜测这个就是黑客上传的代码形成的文件。
webshell第六题的wp
获得一串十六进制代码,直接010Editor打开
得到IP:192.168.239.123
webshell第七题的wp
跟随6一样,使用010Editor在那一串十六进制代码里面发现了
“ socks5
plugin_user = 0HDFt16cLQJ
plugin_passwd = JTN276Gp”
=》0HDFt16cLQJ#JTN276Gp
日志分析第一题的wp
发现日志存在很多404回馈,所以查看一下没有404的记录,使用python脚本跑一下就行
string=''
with open('access.log') as f:
string=f.readline()
while(string !=''):
if("404" not in string):
print(string)
string=f.readline()
平时打WEB的应该都有经验,这个“www.zip”一般放着leak的源码
=》源码文件:www.zip
日志分析第二题的wp
这道题让我们通过日志分析来找到 黑客往/tmp目录中写的一个文件,我们挨个看都没发现什么问题,一直看到文件的末尾的时候发现了这个
很明显,这个被恶意写的文件名就是 sess_car
这里有tmp,机灵的人已经拿去urldecode了
=》文件名:sess_car
日志分析第三题的wp
同样是在/tmp目录下的操作,发现
=》类:SplFileObject
PHP读取大文件的类SplFileObject 【笔记】_qq_34086047的博客-CSDN博客
简单日志分析第一题的wp
让我们通过日志分析,找到黑客攻击的参数,这道题目十分的简单,我们通过下面这张图可以看到 只有一个 user参数被利用了,所以很明显黑客攻击的参数就是user
连脚本都可以不改,除了文件名不一样外
很容易就发现,攻击参数是GET类型的?user
所以,=》攻击参数:user
简单日志分析第二题的wp
对之前的数据中间的参数分别拿去base64解码,发现第二条有我们需要的
=》绝对路径:/Th4s_IS_VERY_Import_Fi1e
简单日志分析第三题的wp
=》IP:192.168.2.197:8888
SQL注入第一题的wp
打开下载的文件
=》手法:布尔盲注
SQL注入第二题的wp
简单查看了一下日志,发现可以直接在日志获取到结果,
得到库名:sqli 、表名flag 、字段flag
=》sqli#flag#flag
SQL注入第三题的wp
from urllib import parse
num=0
line=0
tmp1=1
tmp2=2
str1=''
with open("access.log",'r') as f:
string=f.readline()
while(string !=''):
if("sqli.flag" in string):
string=parse.unquote(string)
num=string.find("sqli.flag")#字符
num+=19
line=string.find("sqli.flag")
line+=11
if(string[line+1] ==","):
tmp1=int(string[line])
elif(string[line+1] !=","):
num+=1
tmp1=int(string[line:line+2])
if(tmp1 ==tmp2): #发现目标字符,是上一行的
tmp2+=1
print(str1,end="")
str1=string[num] #保留上一行的字符
string=f.readline()
=>flag{deddcd67-bcfd-487e-b940-1217e668c7db}