2019-2020-2-《网络对抗技术》-20175332 张苗-exp9 Web安全基础
2021-02-17 10:18
标签:生成随机数 访问 dmi NPU 相关 转码 长度 str mes 1.实践内容 1.1 Web Goat环境搭建 1.2 SQL注入 1.3 XSS攻击 1.4 CSRF攻击 2.实践问题回答 (1)SQL注入攻击原理,如何防御 (2)XSS攻击的原理,如何防御 (3)CSRF攻击的原理,如何防御 3.实践总结与体会 1.查看jdk版本 2.安装环境,更改jdk 下载Web Goat及jdk安装包 在 由于未配置jdk,故 选择 原理:在Web对数据库进行查询时,在提交的正常请求命令中利用SQL语句漏洞嵌入恶意查询语句以执行相应操作或获取数据 防御:对所输入的内容进行严格判断筛选,对数据库设置当问权限,适当对数据进行加密,尽量不使用动态SQL语句 原理:利用现有网页漏洞,注入恶意指令代码到网页添加原来不存在的恶意网页程序,利用用户对现有操作网页的信任以执行恶意程序从而获取用户信息或操作权限,以达到某些目的 防御:过滤前端获取的信息中的特殊符号,如
原理:在正常访问受信任网站时发送信息至另一网站,另一网站利用所获取信息冒充用户对受信任网站提出请求,以此来实现攻击 防御:在每一次与重要信息有关的操作中都增加验证环节,通过生成随机数验证码实现验证身份 本次实验操作较为简单,主要是对几种攻击原理的理解,在实验过程中也理解了许多实际生活中某些网站的操作,如进行登陆操作时有许多网站会有输入验证码的操作,这是本学期最后一次实验,回顾一下,个人认为还是较为圆满的完成了每一个实验,在每一个实验中也都学到了许多东西,也体会到了这门课程较高的实践性,也让我在以后的日常生活中使用网络时更为注意。 2019-2020-2-《网络对抗技术》-20175332 张苗-exp9 Web安全基础 标签:生成随机数 访问 dmi NPU 相关 转码 长度 str mes 原文地址:https://www.cnblogs.com/20175332zm/p/12956281.html目录
1.实践内容
1.1 Web Goat环境搭建
webgoat-container-7.0.1-war-exec.jar
目录下执行命令java -jar webgoat-container-7.0.1-war-exec.jar
http://localhost:8080/WebGoat
进入登录界面,看到下方有提示账号及其对应的用户名和密码:
Admin Functions
为空,配置jdk
sudo su
mkdir -p /usr/local/java
cp jdk-8u181-linux-x64.tar.gz /usr/local/java
cd /usr/local/java
tar xzvf jdk-8u181-linux-x64.tar.gz
vim /etc/profile
(添加在profile文件末尾)
JAVA_HOME=/usr/local/java/jdk1.8.0_251
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_181/bin/java" 1
update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_181/bin/javac" 1
update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_181/bin/javaws" 1
update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_181/bin/javaws" 1
update-alternatives --set java /usr/local/java/jdk1.8.0_181/bin/java
update-alternatives --set javac /usr/local/java/jdk1.8.0_181/bin/javac
update-alternatives --set javaws /usr/local/java/jdk1.8.0_181/bin/javaws
source /etc/profile
1.2 SQL注入
命令注入——修改参数,使服务器执行恶意命令
Injection Flaws
—>Command Injection
——>inspect Element
审查网页元素对源代码进行修改
HelpFile
的select
元素,在第一项内容的后面添加"& netstat -an & ipconfig"
View
,如果可以看到执行指令后的网络端口使用情况和IP地址——>攻击成功!日志欺骗——通过修改日志文件消除攻击痕迹
Injection Flaws
->Log Spoofing
User Name
文本框中填写guest%0d%0aLogin Succeeded for username: admin20175332
,利用%0d
回车,%oa
换行符,让注入信息转行显示。
数据库后门——利用数据库中的触发器,使用INSERT语句来使系统执行恶意代码
Injection Flaws
->Database Backdoors
,文本框中输入101查询该用户的相关信息
101; update employee set salary=20175332
更改数据,攻击成功!LAB: SQL Injection——利用SQL语句的特点,注入字符串,使系统执行恶意代码,通过注入字符串绕过认证
Injection Flaws
->LAB: SQL Injection
,密码框中输入‘ or 1=1 --
数字型盲注入——没有明确返回信息只判断真假的注入,充分利用查询语句实现
101 AND 1=1
进行一个查询测试,两个条件均有效,所以返回当前账户数字有效
101 AND 1=2
,因为1不等于2,条件不成立,所以返回账号数字无效
101 AND ((SELECT pin FROM pins WHERE cc_number=‘1111222233334444‘) > 10000 );
判断PIN是否大于10000
101 AND ((SELECT pin FROM pins WHERE cc_number=‘1111222233334444‘) = 2364 );
字符串式盲注入——原理与数字相同,字母比较ASCII码的值
101 AND (SUBSTRING((SELECT name FROM pins WHERE cc_number=‘4321432143214321‘), 1, 1) 判断PIN字段数值的第一个字母其ASCII码值是否比”X“小,并不断缩小判断条件。
Jill
1.3 XSS攻击
钓鱼型:利用XSS,实现钓鱼攻击或向官方页面中增加内容以达到某些目的
存储型:将恶意代码传输至有漏洞的服务器,通过服务器攻击
,点击提交后,点击创建的帖子,会弹出一个对话框,说明攻击成功!
反射型:通过让受害者执行代码获取受害者身份信息以实现伪装并实现某些操作
1.4 CSRF攻击
跨站请求伪造:使用户访问一个做过手脚的网站
,其中Screen和menu的值由右侧表格看出,语句transferFunds=5000意为把受害者的钱转走。
绕过CSRF确认:
2.实践问题回答
(1)SQL注入攻击原理,如何防御
(2)XSS攻击的原理,如何防御
(3)CSRF攻击的原理,如何防御
3.实践总结与体会
上一篇:雷林鹏分享:jsp 国际化
下一篇:JS学习第二天
文章标题:2019-2020-2-《网络对抗技术》-20175332 张苗-exp9 Web安全基础
文章链接:http://soscw.com/index.php/essay/56526.html