首届“陇剑杯”网络安全大赛(部分WP)

Posted joker-yan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了首届“陇剑杯”网络安全大赛(部分WP)相关的知识,希望对你有一定的参考价值。

 浅谈~

博主当成一次个人赛玩玩,没想到这次比赛的赛题类型还是很新颖的,基本都是MISC类型的题目

我这里上传了题目在百度云上,希望UU们手下留情~别让它爆了陇剑杯题目(提取码:vuno)

话不多说,直接上题解!!

1.1

使用wireshark打开其中的“Good.pcapng”流量包

发现有HTTP包,直接过滤HTTP包,再结合题目给出的提示,没有发现dns、ftp包,所以判断出是http协议攻击:

所以选择“http”协议的网络攻击

2.1

使用wireshark打开其中的“goroot.pcap”流量包

发现有HTTP包,直接过滤HTTP包,右键选择“追踪流”进入http流,

发现“cookie”部分出现JWT的类型,所以判断出是jwt认证  

2.2

这个有点被坑到了

 发现一个“POST /identity”包,直接追踪打开 

下翻,发现

直接拿去base64解码

获得:{"alg":"HS256","typ":"JWT"}{"id":10086,"MapClaims":{"aud":"admin","username":"admin"}}

拿去提交:10086#admin

结果发现是错的~

然后一个一个地跟包,发现在第十个的时候JWT有变动

 直接拿去base64解码,

获得的有效信息:{"alg":"HS256","typ":"JWT"}{"id":10087,"MapClaims":{"username":"admin"}}

 得到:10087#admin

2.3

使用wireshark打开其中的“goroot.pcap”流量包,随着之前的进度,一个个查看HTTP包的传递内容,直到下面的一个http包

发现有HTTP包,直接过滤HTTP包,右键选择“追踪流”进入http流,

发现“alert(“root\\n”)”

所以得出黑客获取了root权限

2.4

继续跟进流量包,查看后续的POST包

这里发现了黑客通过命令传递了一大串字符,直接拿去url解码、base64解码

 发现结果是直接保存为1.c文件,所以这个文件就是黑客上传的文件名.

 2.5

 再次跟进HTTP包,查看黑客的行为,

发现了“looter.so”文件,结合题目的提示“.so”文件,猜测就是答案。

2.6

还是继续根据流量包,

发现文件“looter.so”文件被导向/etc/pam.d/common-auth路径,猜测这里就是被修改的配置文件。 

 “/etc/pam.d/common-auth”

3.1

使用 wireshark 打开其中的“hack.pcap”流量包
发现有 HTTP 包,直接过滤 HTTP 包,

跟进“追踪流”,

9得到密码: Admin123!@#

3.4

继续跟进流量包,慢慢寻找POST传递的包

发现一个文件“1.php”,猜测这个就是黑客上传的代码形成的文件。

3.6

继续跟进

获得一串十六进制代码,直接010Editor打开

得到IP:192.168.239.123

3.7

跟随3.6一样,使用010Editor在那一串十六进制代码里面发现了

“ socks5

plugin_user = 0HDFt16cLQJ

plugin_passwd = JTN276Gp”

=》0HDFt16cLQJ#JTN276Gp

4.1

 发现日志存在很多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

4.2

 同样是分析非404的数据,发现

 这里有tmp,机灵的人已经拿去urldecode了

 =》文件名:sess_car

4.3

 同样是在/tmp目录下的操作,发现

 =》类:SplFileObject

7.1(相比于4,这里更简单了,毕竟是“简单日志分析”)

 查看一下日志文件,

 连脚本都可以不改,除了文件名不一样外~

下面三行数据就是全部的解题内容了~~~

 很容易就发现,攻击参数是GET类型的?user

所以,=》攻击参数:user

7.2

对之前的数据中间的参数分别拿去base64解码,发现第二条有我们需要的

=》绝对路径:/Th4s_IS_VERY_Import_Fi1e 

7.3

同理7.2,

=》IP:192.168.2.197:8888

8.1

 将日志文件“access.log”拿去URL解码,或者我们也可以很明显地看出来,这就是一个bool盲注

 =》手法:布尔盲注

8.2

简单查看了一下日志,发现可以直接在日志获取到结果,

得到库名:sqli 、表名flag 、字段flag

=》sqli#flag#flag

8.3

获取字段值,可以一个一个慢慢查看获取(这样比较费时间,还需要有耐心)

这里提供python脚本获取,

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}



小结

“签到”:1.1

“jwt”:2

“webshell” :3

"日志分析":4

“流量分析”:5

“内存分析”:6

“简单日志分析”:7

“SQL注入”:8

“wifi”:9

"ios":10

"机密内存":11

本次比赛上博主自己解出来的题目都在上面的WP上了,还有一些题目是提交错误次数上了三次,所以算是解题失败不计分~~~还是觉得自己有点菜鸡,比不上很多大佬

以上是关于首届“陇剑杯”网络安全大赛(部分WP)的主要内容,如果未能解决你的问题,请参考以下文章

首届“陇剑杯”网络安全大赛(部分WP)

首届“陇剑杯”网络安全大赛线上赛圆满结束

全网最新最全首届“陇剑杯”网络安全大赛完整WIRTEUP --- ios(7题)

全网最新最全首届“陇剑杯”网络安全大赛完整WIRTEUP --- 内存分析(2题)

2021陇剑杯网络安全大赛wp-webshell部分(详细题解)

2021陇剑杯网络安全大赛wp-IOS部分(详细题解)