渗透测试的学习
第一章:
在第一章内,主要配置了渗透测试的环境,包括在win2003内创建了php、webug、asp、IISasp、aspx、tomcat_jsp、jboss、webloginc
然后在win10中安装了vstar50
靶机环境的搭建其实和我们真实网站的流程是一样的,里面涉及到的内容在真实环境中可能会更加复杂,比如说京东、淘宝等,他们的环境架构更加复杂,一些小网站的话其实还比较简单,不管是什么网站吧,在运行环境的搭建上,逃脱不了下面的几个角色:
网站程序代码(前端代码、后端代码)
web服务应用程序(常用的:nginx\apache\tomcat\IIS..等)
数据库(常用的:mysql\oracle\sqlserver(mssql)\mongdb..等)
phpstudy是一款网站环境搭建工具,帮助我们快速搭建靶机环境,在其中搭建了bwapp,这是一款攻防环境,同样的还有pikachu,DVWA、phpcms,这些都放在phpstudy的www目录下面
webug也是一款攻防环境,这个环境里面的文件很多,我只解压了一部分
注意点
注意:
1. 使用phpstudy的来部署你的项目代码的时候,一定要注意你的代码使用的是php语言的哪个版本,不同的版本可能导致代码中的一些方法不兼容而报错.
2. win7 win2008 IIS7快速安装PHP及phpStudy注意事项: https://www.xp.cn/a.php/182.html
asp是微软提出的,asp是以前的动态网页技术,是用脚本在服务器上经解释后生成客户端页面,用这种技术开发的网页的文件扩展名也是asp;
asp.net是新架构的动态网页技术,在服务器上存放的是经过编译的程序和页面模板,aspx则正是asp.net页面模板的文件扩展名。
iis+asp+access
iis+aspx+sql server(简称:mssql)
tomcat+Stryts2是JAVA网页环境的搭建框架,其中jsp是JSPstudy,在jBoss是搭建网站的工具中,我们首先要安装jdk,还要配置环境变量
weblogic也是一个网站部署工具
第二章 docker部署靶场环境
在配置docker的时候,拉取镜像始终不行,最终修改了/etc/docker/daemon.json,内容如下,就好了
{ "registry-mirrors": [ "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com", "https://docker.m.daocloud.io", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com", "https://your_preferred_mirror", "https://dockerhub.icu", "https://docker.registry.cyou", "https://docker-cf.registry.cyou", "https://dockercf.jsdelivr.fyi", "https://docker.jsdelivr.fyi", "https://dockertest.jsdelivr.fyi", "https://mirror.aliyuncs.com", "https://dockerproxy.com", "https://mirror.baidubce.com", "https://docker.m.daocloud.io", "https://docker.nju.edu.cn", "https://docker.mirrors.sjtug.sjtu.edu.cn", "https://docker.mirrors.ustc.edu.cn", "https://mirror.iscas.ac.cn", "https://docker.rainbond.cc" ] }
在安装docker-compose的时候,用apt安装不上,所以采用的是离线安装,先下载Release v2.32.0 · docker/compose · GitHub到本机,uname -n查看系统 uname -m查看版本
之后在编写docker-compose.yml的时候,不能允许有任何的缩进错误,我直接手敲的
第三章: http和https和burp抓包
在edge和谷歌浏览器中,可以通过Burp直接拦截到网址,但是在火狐不行,因为需要在火狐浏览器内部需要单独代理设置,打开代理设置
在开启代理之后,打开https网页可能会有无法连接的情况出现,这是因为代理是使用了自己的CA证书,但是这个证书并不在我们系统信任的CA证书当中,所以我们需要将代理的证书设置成系统信任的证书
https单向认证
1. 客户端请求服务端,携带者自己支持的SSl\TLS版本信息、随机数等
2. 服务端将证书、服务端的SSL\TLS版本信息发送给客户端,并且将自己的公钥(server_pub)放到证书中
3. 客户端对证书进行验证,验证通过后,将自己支持的对称加密算法方案发送给服务端,供服务端选择
4. 服务端选择一个优质的算法方案,然后将选择的方法明文发送给客户端
5. 客户端生成一个随机字符串pre_master_secret,通过协商好的算法计算得出对称加密的密钥
secret_key,然后利用服务端的公钥server_pub对pre_master_secret进行非对称加密,得到
mi_secret_key数据,然后将这个数据发送给服务端
6. 服务端利用自己的私钥对mi_secret_key进行解密,得到pre_master_secret,然后通过协商好的算
法对pre_master_secret进行加密,得到密钥secret_key,然后利用选好的对称加密算法和secret_key
对响应数据进行加密,然后发送给客户端
7. 客户端利用相同的对称加密算法和自己这一端保存的那个secret_key来解密得到响应数据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通