什么是软件程序代码
软件程序是一种计算机程序,用于计算机计算和其他可编程设备。其实就是我们常说的代码,不论是什么软件程序都是由代码组成的,以后我们会见到很多类型的软件程序,比如网页设计网站开发,软件开发,软件工程,其实本质都是代码,不需要去刻意
区分;以后很多的专业名词都是这样的,其实就是代码,只不过这些代码是完成特定功能的罢了,例如鉴权中间件,跨域中间件,其本质就是iis 那些中间件,明白本质才不会被名词所混淆。
究其根本不论是什么样的语言你只要能能够告诉计算机计算机给你做了这就是我们的程序,所以不论是哪个方向究其根本就是一-行- -行的代码,那么这个代码转化成二进制我们底层的硬件 它就知道它要干什么了,程序就是告诉计算机我们要做什么事,比
所以不论是什么网页设计前端后端底层逻辑都是代码,不要去分它没有必要 去分,哪个快速快捷我们就用哪个,python能做的就不要用c++, 越简单的编程语言越实用,因为其本质都是让计算机去做同样- -件事, 不要把事情复杂化
web程序
通常构成前端-后端 数据库-服务器基本就是这些前端ur1 请求到后端要执行什么后端登陆,这时候就要调用数据库的数据,数据库放在哪,放服务器上(大概就是这样)
后边web安全入门会讲这些的一定 要把这些搞懂
语言
html (点击劫持)
xss (也有注入,有人会说哎呀这是xss, 新手是这样) -定要觉得自己是渺小的,不要觉得什么都会了其实有很多东西你都不懂,你得保持着你觉得什么都不会你才有更多的东西去学
JavaScript (xss dom型 反射型存储型点击劫持,请求走私)很多知识点杂糅到- -起了得理解,你说信息泄露那数据库信息泄露在前端.上了怎么算呢你得理解
假设你根本不懂这三门语言那么xss 点击劫持 ,web缓存漏洞你也不可能会,请求走私跨域这些问题你也不可能会。
所以搞web渗透这些东西都是得学的
代码库
JQuery
bootstrap
elementui
代码库是干什么的,我们写代码不可能用原生的语言去写,这样太废精力了,我们可以封装成一-些库让它很方便的去调用。
框架
vue
eact...
框架不论怎么写都是基于最本质的的三种语言写的html, css, javascr ipt,如果单纯从纯粹的Javascr ipt去分析很费时间,-般都是通过框架去分析xss 框架多如牛毛 (知道就行)
前端
替在漏洞:信息泄露,xss, csrf, 点击劫持,访问控制,web缓存漏洞,跨域漏洞,请求走私
后端
替在漏洞:信息泄露,xss, csrf, ssrf, 反序列化漏洞,sql注入漏洞, 命令注入漏洞,服务端模板注入,跨域漏洞,访问控制
语言
php
java
python
golang
c/c++
lua
nodejs
后端语言有很多,比如php就会有反序列化漏洞,sq|注入漏洞, 命令注入漏洞等问题,所以语言是很重要的如果你连后端语言都没写过怎么知道啥叫反序列化呢要想搞这些漏洞 以上语言必须学一 种,比如请求走私就是涉及到协议问题了.
数据库
数据库有什么潜在漏洞呢,sql注入, xss, 命令注入等
数据库也是有分类的
1.关系型数据库
mysqI
sql sever
access
postgresql
非关系型数据库
mongodb
couchdb
neo4j
redis
你想学SQL注入你不知道啥叫数据库,就好比你想当警察你不知道啥叫枪-样,所以说想学漏洞之前对以上的要有所了解起码得会- -点
服务器程序
服务器程序
潜在漏洞:信息泄露,文件上传漏洞,文件解析漏洞,目录遍历,访问控制
apache
nginx
iis
tengine
tomcat
weblogic
web程序这个我这么- -列出来就感觉很多前端语言就三种。但是他的库很多啊, 框架也多,后端语言就更多了,很多人说要进红队比如Java代码审计首先你得会Java呀这个 是避不开的,
再比如反序列化漏洞Java php python都有 反序列化漏洞你得想好搞哪一个你还得会编程语言啊,web程序大致就是这些
懂进攻,知防守。就是这样