——luxlu
[签到]
此时正在进行的可能是__________协议的网络攻击。(如有字母请全部使用小写,填写样例:http、dns、ftp)。得到的flag请使用NSSCTF{}格式提交。


User Datagram Protocol(UDP)占据0.3%
Transmission Control Protocol (TCP)占据99.4%
说明绝大多数数据包都走的是 TCP 协议

在 TCP 下又有Hypertext Transfer Protocol (HTTP)占据22.7%
NSSCTF{http}
jwt[问1]
昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答:该网站使用了______认证方式。(如有字母请全部使用小写)。得到的flag请使用NSSCTF{}格式提交。
网站一词暗示是http/https协议
过滤器:http

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9

NSSCTF{jwt}
token
相当于用户的电子身份证。你登陆网站后,服务器就会给你一个token。之后每次你访问网站,浏览器自动带上这个token,服务器验证它就会知道你是谁。
比如token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
jwt结构
{"alg":"HS256","typ":"JWT"}
alg:签名算法是HS256typ:令牌类型是jwt
请求中看到的结构是token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxx
第一部分是header表明签名算法和令牌类型
第二部分是payword用来存放用户信息
第三部分是signature用来签名验证真伪

jwt[问2]
昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答:****黑客绕过验证使用的jwt中,id和username是______。(中间使用#号隔开,例如1#admin)。得到的flag请使用NSSCTF{}格式提交。

伪造token绕过
题干说黑客绕过验证使用的jwt
正常登录需要验证身份,比如说id,密码,验证码
但是黑客不走正常流程,通过篡改或者伪造jwt token来被服务器接受
之所以能绕过,是因为服务器未对jwt的签名进行有效校验(如弱密钥,允许alg:none或者完全忽略了签名验证)这样黑客就有了可乘之机,修改令牌里的用户信息(如将username改为admin)
按照常规思路 试试whoami
过滤器:http contains "whoami"

/exec接口显然不是普通用户用的 也没有正常登录页的/identity 符合绕过特征
第一个包可能是普通用户尝试执行
第二个包可能失败或者权限不足
第三个包返回了root,说明攻击者已经绕过验证,获得了高权限
黑客向/exec发送了command=whoami
服务器成功执行并返回了(alert("root\n"))
说明黑客的身份被系统认可为有效用户,很可能是admin
这个请求也携带了Cookie和所需的JWT token
eyJpZCI6MTAwODcsIk1hcENsYWltcyI6eyJ1c2VybmFtZSI6ImFkbWluIn19
whoami
为什么黑客要执行**whoami**
因为仅仅获得一个高权限账户的token并不能保证真的实际拥有了系统权限。
黑客需要进一步确认:现在以什么身份在服务器上执行命令?
因此,当黑客拿到一个webshell,RCE或者注入点,第一件事通常是:确认当前权限:whoami
如果返回root,就说明不仅账户权限高,而且web服务器本身就是以root身份运行的,从而可以执行更多的敏感操作。
当然,这也反向印证了:黑客很可能在此之前已经尝试过普通权限的操作但失败了,因此才特意测试whoami,来确认自己的权限是否真的提升了
base64解码JWT token的第二部分
{"id":10087,"MapClaims":{"username":"admin"}
NSSCTF{10087#admin}
jwt[问3]
昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答:****黑客获取webshell之后,权限是______?。得到的flag请使用NSSCTF{}格式提交。
权限是root
NSSCTF{root}
jwt[问4]
昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答:****黑客上传的恶意文件文件名是_____________。(请提交带有文件后缀的文件名,例如x.txt)。得到的flag请使用NSSCTF{}格式提交。
黑客上传了一条恶意文件
过滤器:http.request.method == "POST"
一条一条翻

NSSCTF{1.c}
jwt[问5]
昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答:****黑客在服务器上编译的恶意so文件,文件名是_____________。(请提交带有文件后缀的文件名,例如x.so)
过滤器:http contains ".so"

NSSCTF{looter.so}
jwt[问6]
昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答:****黑客在服务器上修改了一个配置文件,文件的绝对路径为_____________。(请确认绝对路径后再提交)
绝对路径通常通过命令执行的接口来完成 比如/exec

NSSCTF{/etc/pam.d/common-auth}