theKingOfNight's Blog

CTF-MISC-安恒杯8月赛题wp

Word count: 1.2kReading time: 4 min
2019/01/19 Share

web狗,然后这web服务器有点坑,web题没怎么做,只好去做流量分析。
感觉这次的流量分析题目很不错,非常适合我这样的新手,由于下午有事情,拿了两个1血就跑,web题目待复现好在补上。
尽我最大可能给大家写一篇通俗易懂的wp吧。
防止官方链接失效,这里给大家分享一下链接

1
2
链接: https://pan.baidu.com/s/14jPGQgf_NAnjR3HepcI3mw
密码: sqrz

题目给了6个数据包,名称也写的很合理,直接在相应的数据包中寻找就好了。
本次使用Omnipeek和wireshark两个工具,各取所长。
用ommi大致看一下ip之间的关系
image.png
大致可以推断出黑客ip

1
1.黑客使用的扫描器

直接打开第一个数据包
image.png
直接看到awvs

1
2.黑客扫描到的登陆后台

image.png
直接从这里看到后台

1
3.黑客登陆后台的账号密码

Post的具体数据Omi就看不到了(可能我比较菜,不知道方法,也欢迎师傅们给本菜提点建议),而且在omi中可以具体看到明显的相应参数login
image.png

这里采用wireshark查看具体内容

1
tcp contains "/admin/login.php" && http.request.method=="POST" && ip.src_host==192.168.94.59 && tcp contains "rec=login"

试了几个都不对,猜想默认账号应该是admin

1
tcp contains "/admin/login.php" && http.request.method=="POST" && ip.src_host==192.168.94.59 && tcp contains "rec=login" && tcp contains "user_name=admin"

然后可以在最后一个数据包中找到结果。

1
tshark/tcpdump如何提取数据?

1
4.webshell内容编码

同样猜测是POST

1
http.request.method=="POST" && ip.src_host==192.168.94.59

拉到最下方就能找到a.php
image.png

直接猜测密码1234

后来看到群里的大师傅直接用这种方法,还是比较靠谱

1
tcp contains "<?php @eval"

image.png

1
5.黑客在robots.txt中找到的flag是什么

直接关键字搜索

1
6.黑客找到的数据库密码是什么

查看与a.php交互的返回包,直接在a.php流量包序号附件就能翻到
image.png

1
7.黑客在数据库中找到的hashcode是什么

webtwo包中,直接强制匹配

1
tcp contains "hash_code"

image.png

1
8.黑客破解的ijnu@test.com得到的密码是什么
1
tcp contains "ijnu@test.com"

image.png
在线解密就好了,有免费的。

1
9.网卡配置ip

在webone中直接

1
tcp contains "eth0"

image.png

1
10黑客使用什么账号登陆了mail系统(username/passwd)

这个题当时没出来,没想到和第三题的答案一样,后面复现没找到相应的admin的密码,不过找到一些加密的(可能太菜了),弄懂了在回来。

不过看到群里的大师傅是这么分析的:
mailtwo.pcap(前)、mailtwo1.pcap(后)
10、套路一:社工,和web密码相同;套路二:首先在mailtwo.pcap中过滤http,序号3的Cookie中就发现 login_name=wenwenni字段,并且是action=logout,继续跟进,下一个序号是28,又到了登陆界面(35),在其中发现了密码的加密函数:var key_hash = CryptoJS.MD5(‘1234567812345678’);var key = CryptoJS.enc.Utf8.parse(key_hash);var iv = CryptoJS.enc.Utf8.parse(‘1234567812345678’); form.password.value = CryptoJS.AES.encrypt(form.password.value, key, { iv: iv,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.ZeroPadding}),因刚退出,所以是根据cookie中的信息登陆的,在下一请求42对应的45中出现{“success”:true},表示登陆成功。然后使用(http contains “{\”success\”:true}” or http.request.method==”POST”) and ip.addr==192.168.94.59过滤显示入侵的post请求及成功的返回结果,发现非常多,看来是在爆破,并且到mailtwo.pcap的最后也未爆破成功。相同的过滤条件上给mailtwo1.pcap,发现几条数据,从后往前看,发现18152是登陆成功的返回结果,那对应的17126则就是正确的密码,用上面发现的加密算法(在18152的追踪流->TCP流中也可以发现这个算法)在线进行破解即可得出结果。

这个当时也有看到,不过直接忽略了,还是自己太菜了。

1
11.黑客获得的vpn ip是多少

黑客获取到vpn ip肯定需要将流量经过VPN代理转发,直接用omni
image.png
直接就能看出来。


Web
最近一段时间太忙,后来在看的时候题目已经关闭了,不过看wp时知道Flask debug模式开启时,并且程序出现错误以后,可以利用ping码进行命令执行。
需要有任意文件读取
收集相应信息,生成目标机器的ping码
image.png

CATALOG