背景
McSkidy需要检查其他员工是否被入侵了,但是员工的信息被黑了,你能修补回来然后看看最好的圣诞公司里面还有哪些团队受到影响了吗?
开始学习!
HTTPS
HTTP协议是网站常用的协议,常用的请求方法有get和post
get一般用于请求数据
post是发送数据
GET
请求包
GET / HTTP/1.1Host: tryhackme.com
User-Agent: Mozilla/5.0 Firefox/87.0
Referer: https://tryhackme.com/
当服务器收到请求包后会给出响应,包含了状态码(status code)和内容。
状态码来标识请求的结果是怎么样的,比如200代表正常
例如一个正常的返回包
HTTP/1.1 200 OK
Server: nginx/1.15.8
Date: Wednesday, 24 Nov 2021 13:34:03 GMT
Content-Type: text/html
Content-Length: 98
<html>
<head>
<title>Advent of Cyber</title>
</head>
<body>
Welcome To Advent of Cyber!
</body>
</html>
Cookies
http是无状态的,它分不清是哪个用户发过来的,如果想区分不同用户,比如登录的是哪个用户的话,就需要用cookie技术,结合服务器的session来实现有状态。
cookie是存在本地的,session是服务器上的。
比如登录,当你登录成功后,服务器返回一个cookie,当你每次请求服务器的时候,都会带着cookie,这个cookie就起到了用户名密码的作用。
cookie的组成成分
别害怕,虽然看着很多,但是对于一开始的攻击来说,我们最关心的是Name和Value,
cookie的值是由这两个属性组成的,Name:Value
设置cookie的例子:Set-Cookie: =; Domain=; Secure; HttpOnly
操纵cookie
cookie存储在本地,可以任意修改,查看方法是摁F12,打开开发者工具,选择应用,Cookies
cookie的值一般都不是明文,都是经过编码或者加密的,从攻击者的角度来看,我们需要想办法解密cookie才能进行攻击
下面是一个明文的cookie
{firstName:“John”, lastName:“Doe”, age:50, eyeColor:“blue”}
解密成功后,对cookie进行修改,然后再加密,再修改浏览器中cookie的值,下次请求网站的时候就会带着这个新的值了!
答题
登录给的网站,注册一下
提示不能注册,没关系,我们看一下 cookie
这个值的编码是什么呢?
0-f,像是16进制,用burp suite的编码工具来解码,或者用Cyberchef
把username修改为admin然后再编码,替换一下cookie,然后刷新浏览器,