Web安全实践实验

Web安全实验 理解XSS原理,SQL注入原理,掌握实际技能 ,掌握sql注入 立即下载

Web安全实践实验

一、网站加密过程简介

 

CA(Certificate Authority)       加密          网站

步骤:

1.CA给浏览器厂商发公钥

2.阿里把公钥给CA,CA用自己的私钥加密阿里的公钥,返回给阿里

3.用户用浏览器访问阿里的网站,阿里把用CA的私钥加密过的自己的公钥给用户

4.用户用浏览器中的CA公钥解密阿里公钥,正确配对则信任访问的网站

二、使用openssl生产上面所说的四个公钥和私钥

1.给CA生成公钥和私钥。建立一个根目录放置所有文件,这里选择了/home/lichking/ssl。private文件夹用于存放CA的私钥,certs文件夹用于存放server颁发的证书的副本,index.txt文件作为证书的数据库文件,serial文件作为颁布证书的序号,先使用01.

   mkdir ssl

   cd ssl

mkdir privatecerts

chmod 777private

touch index.txt

echo ‘01’>serial

 

 

如上图,然后创建一个CA配置文件caconfig.conf,内容如下(划线部分需要修改):

[ ca ]

default_ca = local_ca

[ local_ca ]

dir = /home/lichking/ssl

certificate = $dir/cacert.pem

database = $dir/index.txt

new_certs_dir = $dir/certs

private_key = $dir/private/cakey.pem

serial = $dir/serial

default_crl_days = 365

default_days = 1825

default_md = sha1

policy = local_ca_policy

x509_extensions = local_ca_extensions

copy_extensions = copy

[ local_ca_policy ]

commonName = optional

stateOrProvinceName = optional

countryName = optional

emailAddress = optional

organizationName = optional

organizationalUnitName = optional

[ local_ca_extensions ]

basicConstraints = CA:false

[ req ]

default_bits = 2048

default_keyfile = /home/lichking/ssl/private/cakey.pem

default_md = sha1

prompt = no

distinguished_name = root_ca_distinguished_name

x509_extensions = root_ca_extensions

[ root_ca_distinguished_name ]

commonName = MyOwn Root Certificate Authority

stateOrProvinceName = NC

countryName = US

emailAddress = root@tradeshowhell.com

organizationName = Trade Show Hell

organizationalUnitName = IT Department

[ root_ca_extensions ]

basicConstraints = CA:true

 

[local_ca]下,dir为之前创建的文件夹的上级目录,此处为/home/lichking,如图

 

[req]下,default_keyfile也需要修改,此处为/home/lichking/private/cakey.pem

生成CA证书:opensslreq –x509 –newkey rsa:2048 –out cacert.pem –outform PEM –days 365 –configcaconfig.conf。

系统会要求输入CA密码,这个密码会长生成服务器证书时使用。我使用了lichking作为密码。private下会生成cakey.pem

 

2.生成网站的公钥和私钥

先生成一个配置文件server.conf

输入指令gedit server.conf,把下面的内容粘贴进去。

[ req ]

prompt = no

distinguished_name= server_distinguished_name

req_extensions =v3_req

[server_distinguished_name ]

commonName =localhost

stateOrProvinceName= NC

countryName = US

emailAddress =root@tradeshowhell.com

organizationName= My Organization Name

organizationalUnitName= Subunit of My Large Organization

[ v3_req ]

basicConstraints= CA:FALSE

keyUsage =nonRepudiation, digitalSignature, keyEncipherment

subjectAltName =@alt_names

[ alt_names ]

DNS.0 =localhost

DNS.1 =localhost

 

输入openssl req –newkeyrsa:1024 –keyout serverkey.pem –keyform PEM –out tempreq.pem –outform PEM –configserver.conf

要求输入密码,我输了123。

 

3.使用CA的私钥对第二步生成的公钥进行加密。

openssl ca –intempreq.pem –out server_crt.pem –config caconfig.conf

tempreq.pem就是第二步生成的公钥,输出为server_crt.pem,就是要加入到浏览器中的公钥。输入第一步生成CA时使用的密码lichking

 

4.修改/etc/apache2/sites-avaiable中default-ssl文件的SSLCertificateFile和SSLCertificateKeyFile,前面是用CA私钥加密过的网站公钥,后面是网站的私钥。

SSLCertificateFile        /home/lichking/ssl/server_crt.pem

SSLCertificateKeyFile      /home/lichking/ssl/serverkey.pem

 

5.执行a2enmod ssl 和a2ensite default-ssl启动SSL模块,执行service apache2 restart重启服务器。要求输入服务器私钥,我输的是123。

 

6.在firefox浏览器的Edit->Preferences->Advanced->Encryption->ViewCertificates->Authorities中import CA的根证书/home/lichking/ssl/cacert.pem文件

 

在浏览器输入https://localhost,完成实验。

 

三、实验中遇到的问题

这次实验是web安全实践的第一个实验,有的同学才刚开始用Linux,十分不熟悉,所以可能会出很多问题。属于基本操作的问题我这里就不写了,下面写我遇到的两个问题。

1.输入service apache2 restart后,显示错误job forapache2.service failed……输入systemctl status apache2.service后出现下面画面。

 

问题分析:这可能是因为apache2设置引起的,输入apache2ctl –t 查看出现的问题。

 

解决方法:如上图,显示文件/etc/ssl/server_crt.pem不存在,可能是之前的第三步出现了问题,重新做一边第三步。

 

 

2.在浏览器输入https://localhost后出现下面的画面

 

 

问题分析:仔细查看浏览器给出的错误提示,发现是serial number不对。可能是生成的证书编号重复了。

 

解决方法:回去改index.txt中的序列号。或者重新生成一遍证书。

 

附录:给第一次使用apache2的朋友

安装apache2:sudoapt-get install apache2

/etc/apache2下是配置文件

ports.conf是监听的端口

sites-available是可用的站点

 

建立一个新网站:

1.      修改apache2下的apache2.conf,全部改成granted

2.      进入sites-available文件夹,打开000-default.conf,把DocumentRoot改成网站的文件夹

3.      a2ensite 000-default

4.      service apache2 restart

5.      打开firefox,输入localhost就可以看到自己的网站了。

四、实验感想

  说实话这个实验对于第一次接触Linux的人来说挺难的,很多命令都没明白就开始做实验了。这次实验开始前要做的工作有安装一个虚拟机à安装ubuntuà安装openssl和apache2。

之后才是正式的实验。通过这次实验可以体会到网站密钥的生成过程,同时提高对Linux的熟悉程度。我第一次做这个实验的时候做了两天吧,前前后后做了5、6次,教同学又做了好几次。web安全实践课程就这样开始了。

web安全 防护实验 web安全防护实验,基于跨站脚本入侵的实验.doc 立即下载

相关推荐

高效复用PCB设计:Cadence Sub-Drawing跨项目复制技巧

本文详细介绍了Cadence Allegro中Sub-Drawing功能的应用技巧,帮助PCB工程师高效复用成熟设计模块。通过分步教学,从精准导出到完美导入,并提供了解决坐标错位与DRC冲突的实用避坑指南。掌握这一技巧能显著提升设计效率,实现团队知识的标准化积累与快速复用。

weixin_29172201的博客 395

网络安全实验——web安全

XSS(Cross-Site Scripting)是一种常见的Web应用程序漏洞,攻击者可以通过注入恶意脚本来获取用户的敏感信息或者控制用户的账户。攻击者可以通过在输入框、URL参数等地方注入恶意脚本来实现XSS攻击。为了防止XSS攻击,应该对用户提交的数据进行过滤和转义,避免将用户输入的内容作为HTML或JavaScript代码直接输出到页面上。在盗取rookie(一个虚拟人物)的实验中,攻击者通过在评论中注入恶意脚本,来实现对rookie账户的控制。

weixin_58628068的博客 5732

lvds接口_LVDS,接口,时序讲解,非常好的文章

欢迎FPGA工程师加入官方微信技术群点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群1.1.1 LVDS接口分类1.1.1.1 单路6bit LVDS这种接口电路中,采用单路方式传输,每个基色信号采用6位数据,共18位RGB数据,因此,也称18位或18bit LVDS接口。此,也称18位或18bit LVDS接口。1.1.1.2 双路6bit LVDS这种接口电...

weixin_39639286的博客 1902

【burpsuite安全练兵场-客户端16】测试WebSockets安全漏洞-3个实验(全)

【BP靶场portswigger-客户端16测试WebSockets安全漏洞】3个实验-万文详细步骤

1万+

Linux yum源配置以及yum命令讲解

前面为大家介绍了RPM二进制包安装软件,RPM包安装的最大的缺点也提到过,就是依赖性太强,一旦遇到依赖问题,则需要我们手动解决包之间具有依赖性的问题,今天为大家介绍一种可自动解决包之间依赖关系的安装方式:yum。 yum 全称“Yellow dog Updater, Modified”,是一个专门为了解决包的依赖关系而存在的软件包管理器。就好像 Windows 系统上我们通常可以通过各种软件管家实现软件的一键安装、升级和卸载,yum就是Linux 系统中的一键安装工具。yum 解决依赖关系的基本逻辑是:yu

九派Linux的博客 2283

【定位模块项目实战】gnss_localizer、lidar_localizer功能包解析

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、1.2.3.4.二、1.2.3.4.三、1.2.3.4.四、1.2.3.4.总结参考资料 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对**【无人驾驶autoware项目实战】感知–定位模块**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 一、 1. 2. 3. 4. . . 二、

qq_35635374的博客 1931

《网络对抗》—— Web安全基础实践

这次实验使用webgoat来分别尝试了XSS攻击、CSRF攻击、SQL注入攻击,感触还是很深。之所以能够进行这些攻击,不止是因为我们的web设计本身就有漏洞!还有我们在使用web的时候,太大意太疏忽了,没有想到会有一些危险的情况发生。

2401_88326365的博客 1337

手把手实现STM32+ESP8266+原子云服务器+手机APP应用——第一节-ATK-ESP8266 WIFI模块通过USB-TTL实现连接原子云服务器与手机APP互相通信

本节实现ATK-ESP8266 WIFI模块通过USB-TTL实现连接原子云服务器与手机APP通信。具体来说,本节使用串口CH340(USB-TTL)连接正点原子ATK-ESP8266 WIFI模块,通过AT命令实现连接原子云服务器与手机APP互相通信,实现硬件设备(WIFI模块)与云服务器和手机APP的互相通信。后面章节不用串口CH340(USB-TTL),通过编写单片机程序实现数据远程互相通信,并介绍手机APP的程序设计。单片机任意款即可,STM32F1系列,F4系列,H系列等都可以。本系列为(手把手实

嵌入式阿齐Archie 8419

Fiddler抓包实验

实验一:Fiddler 修改User-Agent ,伪装客户端。 仿造实验一,模拟手机访问其他网站。 操作步骤:在菜单栏中找到Rules选项中的User-Agents选项,选择需要模拟的手机型号。 在浏览器中打开www.taobao.com显示的便是淘宝触屏版。 实验二:Fiddler 修改HTTP 请求。 在菜单栏中找到Rules选项中Automatic Breakpoint的Before Requests选项(表示拦截请求响应)。 在浏览器中搜索www.163.com 把...

l1174821243的博客 2759

【软考】高项论文写作常见模板

本文主要介绍了YYYY年MM月DD日,我所在公司承接了XXXX项目的建设过程,包括了XXX,XXX,XXX内容,涉及到XXX,XXX,XXX技术。本人在项目中承载着项目经理的角色,主要负责了XXX,XXX,XXX方面事宜。此项目时间紧,任务重,实施过程中,我们特别注重了1、XXX 2、XXX 3、XXX几个方面,经过团队的一致努力,本项目按时交付,运行至今,客户反馈良好。但是在实施过程中,也曝露除了一些问题,包括了XXX,XXX等,通过应急处理和协调,这些问题都得到了妥善解决,没有影响到项目进度。

奶爸的编程之路,也就一周冷个三天 1686

结构力学仿真软件:STAAD.Pro:结构抗震设计与STAAD.Pro应用_2024-08-10_11-49-29.Tex

STAAD.Pro是一款广泛应用于结构工程领域的仿真软件,由Bentley Systems开发。它能够进行结构分析和设计,支持多种结构类型,包括桥梁、建筑物、塔架等。STAAD.Pro提供了强大的建模工具,用户可以轻松创建复杂的结构模型,并进行静态和动态分析。软件还支持多种载荷组合,包括地震载荷,以及提供详细的报告和图纸输出,便于工程师进行设计和审查。STAAD.Pro是一款广泛应用于结构工程设计的软件,其界面直观,功能强大,能够进行结构分析与设计。菜单栏。

976

20145309李昊《网络对抗技术》实验9 web安全基础实践

本实验在同学帮助下完成 一、实验准备 1.0 实验目标和内容 Web前端HTML。能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。 Web前端javascipt。理解JavaScript的基本功能,理解DOM。编写JavaScript验证用户名、密码的规则。 Web后端:MySQL基础:正常安装、启动MySQL,建库、创建用...

weixin_30526593的博客 1326

pb插入ole控件点击insert+control时自动关闭解决办法

也就是说pb搜索CLSID的子项保存在OLE Object Bitmaps中,当搜索CLSID中的DLL或OCX控件和PB有冲突时,CLSID后面的DLL、OCX控件就不会保存在OLE Object Bitmaps中,也就是说OLE Object Bitmaps没有完全加载所有控件,有的控件冲突导致中断使PB报错,找出冲突的控件是关键。进行对出问题的控件反注册,如果提示反注册成功,打开PB的OLE控件看是否报错,如果还报错返回步骤(三)循环查找。,再进入注册表看到的是最正确的。来注册会莫名的冲突,但是用。

悠闲饭团的博客 710

20212303亢瑞锋 实验八 WEB安全实践

在编写JavaScript验证用户名、密码的规则,以及进行SQL注入和XSS攻击测试时,我意识到网络安全不仅仅是技术层面的问题,更是一种意识。通过这次学习,我意识到只有不断学习、不断更新自己的知识库,才能跟上这个领域的步伐。这样,我就可以在虚拟机中运行WebGoat,而我的主机则可以继续使用与BurpSuite兼容的Java版本。虽然这个解决方案可能稍显复杂,但我确实可以将WebGoat的jar包放到与其兼容的Java版本的目录中,并确保在启动WebGoat时使用正确的Java命令。

m0_62984455的博客 930

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

20155317王新玮《网络对抗技术》实验9 web安全基础实践

20155317王新玮《网络对抗技术》实验9 web安全基础实践 一、实验准备 1.0 实验目标和内容 Web前端HTML。能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。 Web前端javascipt。理解JavaScript的基本功能,理解DOM。编写JavaScript验证用户名、密码的规则。 Web后端:MySQL基...

weixin_30919571的博客 117

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

《网络攻防》实验九:web安全基础实践

本次实验在XX同学的指导下完成 1.实验后回答问题 (1)SQL注入攻击原理,如何防御 SQL注入攻击的基本原理,是从客户端合法接口提交特殊的非法代码,让其注入到服务器端执行业务的SQL中去,进而改变SQL语句的原有逻辑和影响服务器端正常业务的处理。 SQL注入攻击是Web应用中一个重要的安全问题,虽然Java具备较高的安全性,但如果开发人员不注意,也有可能留下安全隐患,请看示例: 执行验证的SQ...

weixin_33978016的博客 182

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

20154319 实验九web安全基础实践

一、实验内容 (1)webgoat开启; (2)SQL、XSS、CSRF练习。 二、实验后问题回答 (1)SQL注入攻击原理,如何防御 答:原理:SQL注入攻击是指攻击者利用Web应用程序无法对用户输入的数据进行合法性判断,通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,从而使非法数据侵入系统。 防御 :对所有用户提交的数据进行验证;更新和打...

weixin_30535843的博客 353

20145230熊佳炜《网络对抗》实验九:web安全基础实践

20145230熊佳炜《网络对抗》实验九:web安全基础实践 webgoat webgoat的中文是代罪羔羊的意思,而它是一个有很多漏洞的web应用程序,我们可以利用它来研究关于web应用程序的安全性。 在我们的kali虚拟机中输入java -jar webgoat-container-7.0.1-war-exec.jar即可运行我们的webgoat。 webgoat默认使用的是808...

abzv9176的博客 292

20145234黄斐《网络对抗技术》实验九、Web安全基础实践

PS:我是分了两次做的这次试验,第二次实验的时候电脑出了一点问题熄火了……原本后面的是有图的结果博客没保存图没了…… WebGoat WebGoat是由著名的OWASP负责维护的一个漏洞百出的J2EE Web应用程序,这些漏洞并非程序中的bug,而是故意设计用来讲授Web应用程序安全课程的。这个应用程序提供了一个逼真的教学环境,为用户完成课程提供了有关的线索。 因为WebGoat是基于j...

weixin_34100227的博客 118

20145231熊梓宏 《网络对抗》 实验9 Web安全基础实践

20145231熊梓宏 《网络对抗》 实验9 Web安全基础实践 基础问题回答 1.SQL注入攻击原理,如何防御? •SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的。 •防范SQL注入攻击,可从以下方面考虑: 采用预编译语句集PreparedStatement,它内置了处理SQL注入的能力,只要使用它的s...

weixin_30908649的博客 96

20145220韩旭飞《网络对抗》实验九:web安全基础实践

基础问答 (1)SQL注入攻击原理,如何防御 原理:把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串。 防御: 利用输入规则限制进行防御,不允许特殊字符输入 (2)XSS攻击的原理,如何防御 原理:XSS又称CSS,全称Cross SiteScript,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。 防御:对用户输入数据进行输入检查,也要进行...

weixin_30296405的博客 160

轻量级Web服务器的安全攻防实验室:基于STM32的物联网安全实践

本文详细介绍了基于STM32和ENC28J60的轻量级Web服务器安全攻防实践,涵盖硬件配置、UIP协议栈漏洞分析、硬件防火墙设置及异常流量检测算法设计。通过实战案例展示如何构建安全的物联网实验环境,有效防御常见网络攻击,提升嵌入式设备的安全性。

CAT789的专栏 191

# 2017-2018-2 20155231《网络对抗技术》实验九: Web安全基础实践

2017-2018-2 20155231《网络对抗技术》实验九: Web安全基础实践 实验要求: 本实践的目标理解常用网络攻击技术的基本原理。Webgoat实践下相关实验。 实验内容: (1)WebGoat Webgoat是OWASP组织研究出的一个专门进行web漏洞实验的应用品台,这个平台里包含了web中常见的各种漏洞,例如:跨站脚本攻击、sql注入、访问控制、隐藏字段、Cookie...

weixin_30894389的博客 227

网络空间安全导论实验——实现本地 Web 攻击

网络空间安全导论实验——实现本地 Web 攻击 – zinc's home

zinc_96的博客 663
上一篇: Android Exercise2问题总结
下一篇: Android exercise 3
lichkingyang
博客等级 码龄11年 7粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值