为什么很多人学不会渗透?因为一开始就没学HTTP
最近刚开始系统学 Web 安全发现很多人一上来就学 Kali、SQLMap、各种扫描器但其实最应该先学的是 HTTP。因为后面很多 Web 漏洞本质上都是在“修改 HTTP 请求”。比如- SQL 注入 → 改参数- XSS → 改输入内容- 越权 → 改 ID- 文件上传 → 改请求包- JWT → 改 Token所以如果 HTTP 不懂后面会学得特别乱。今天简单整理一下我刚学到的 HTTP 基础适合和我一样的新手。1.什么是 HTTPHTTP 可以理解成“浏览器和网站之间交流的语言”。比如你打开一个网站http GET /index.php HTTP/1.1其实就是浏览器在跟服务器说“我要这个页面。”服务器收到以后再把页面返回给你。HTTP 请求主要分三部分1. 请求行例如http GET /login HTTP/1.1这里包含- 请求方法- 请求路径- HTTP版本2. 请求头Header例如http User-Agent Cookie Referer Authorization很多漏洞其实和 Header 有关系。比如- Cookie 伪造- JWT- 越权后面都会碰到。3.请求体BodyPOST 提交的数据一般在这里。例如http usernameadminpassword123456以后学 SQL 注入的时候经常就在这里改参数。GET 和 POST 的区别很多面试都会问。简单理解GET- 一般用于获取数据- 参数会显示在 URL 上POST- 一般用于提交数据- 参数在请求体里HTTP 状态码先记几个最常见的- 200请求成功- 403禁止访问- 404页面不存在- 500服务器错误以后打靶场会天天看到。我现在最大的感受以前总觉得渗透测试特别“黑客”。现在才发现真正的基础其实是- 网络- HTTP- Linux- Web很多漏洞的本质就是“服务器没有正确处理 HTTP 请求。”最近准备继续学- BurpSuite- SQL 注入- XSS- DVWA 靶场后面如果踩坑了再继续记录。也欢迎大佬指点刚入门少喷哈哈。