安全见闻(二)
最重要的一点是找对方向,不要盲目学习,这点我在自学路上深有体会,走过很多弯路。
红队需要学习的一些编程语言:python、php(可以通过ctf学习)、java,但是并不只是局限于这几个语言,后期还要汇编什么的做免杀之类的。
web程序
通常构成 前端-后端-数据库-服务器 基本就是这些 前端url 请求到后端要执行什么 后端登陆,这时候就要调用数据库的数据,数据库放在哪,放服务器上 (大概就是这样)
语言(需要看得懂)
html(点击劫持) css-(也有注入,有人会说哎呀这是xss,新手是这样)一定要觉得自己是渺小的,不要觉得什么都会了其实有很多东西你都不懂,你得保持着你觉得什么都不会你才有更多的东西去学
JavaScript (xss dom型 反射型 存储型 点击劫持,请求走私)很多知识点杂糅到一起了得理解,你说信息泄露 那数据库信息泄露在前端上了怎么算呢 你得理解
假设你根本不懂这三门语言 那么xss 点击劫持,web缓存漏洞你也不可能会,请求走私跨域这些问题你也不可能会。 所以搞web渗透这些东西都是得学的
代码库(防止重复造轮子)
JQuery 300tstrap elementui
代码库是干什么的,我们写代码不可能用原生的语言去写,这样太废精力了,我们可以封装成一些库让它很方便的去调用。
框架
vue react angular
框架不论怎么写都是基于最本质的的三种语言写的html,css,javascript,如果单纯从纯粹的Javascript去分析很费时间,一般都是通过框架去分析xss 框架多如牛毛(知道就行)
前端
潜在漏洞:信息泄露,xss,csrf,点击劫持,访问控制,web缓存漏洞,跨域漏洞,请求走私
后端
潜在漏洞:信息泄露,xss,csrf,ssrf,反序列化漏洞,sql注入漏洞,命令注入漏洞,服务端模板注入,跨域漏洞,访问控制
语言
php java python golang c/c++ lua node js ruby
后端语言有很多,比如php就会有反序列化漏洞,sql注入漏洞,命令注入漏洞等问题,所以语言是很重要的如果你连后端语言都没写过怎么知道啥叫反序列化呢要想搞这些漏洞 以上语言必须学一种,比如请求走私就是涉及到协议问题了,
数据库(想学sql注入最起码要了解一点数据库)
数据库有什么潜在漏洞呢,sql注入,xss,命令注入等
数据库也是有分类的
. 关系型数据库
mysq sqlsever access postgresql
非关系型数据库
mongodb couchdb neo4j redis
服务器程序
潜在漏洞:信息泄露,文件上传漏洞,文件解析漏洞,目录遍历,访问控制
.apache nginx .iis tengine . tomcat weblogic