20145306 网络攻防 web安全基础实践
实验内容
- 使用webgoat进行XSS攻击、CSRF攻击、SQL注入
- XSS攻击:Stored XSS Attacks、Reflected XSS Attacks
- CSRF攻击:Cross SSite Request Forgery(CSRF)、CSRF Prompt By-Pass
- SQL注入攻击:Numeric SQL Injection、Log Spoofing、String SQL Injection、Database Backdoors step1、Database Backdoors step2、Blind Numeric SQL Injection
实验过程
webgoat
xss攻击
-
1.stored xss attacks
-
2.reflectd xss attacks
同样是在输入框中输入代码,之后点击提交攻击。 -
4.Cross Site Request Forgery 攻击
- 跨站请求伪造攻击。攻击者盗用身份,发送恶意请求。 要完成一次CSRF攻击,受害者必须依次完成两个步骤:1.登录受信任的网站A,并在本地生成Cookie;2.不退出登录的情况下,网文危险网站B。
-
5.CSRF Prompt By-Pass攻击
- 与上一个实验相似,发送恶意请求。将参数写入title。
SQL注入攻击
-
Numeric SQL Injection
- 通过sql注入取得所有天气信息。
- 使用Burpsuite代理,对网页传送的内容编辑之后发送给服务器。
- 设置浏览器,与burpsuite:
-
String SQL Injection
- 和上一个实验类似,通过sql注入实现获得所有数据。
- 构造一个永真试’ or 1=1 ;
-
Database Backdoors
- 实现多条sql语句的注入。
-
databases Backdoors 2
- 实现使用SQL语句实现在myBackDoor表中一旦添加新用户,那么户表里新用户的邮箱改为题目固定的邮箱。
-
log spoofing
- 通过在输入用户名框回车 换行等字符,出现登录成功的假象。
-
Blind Numeric SQL Injection
- 该实验的目的是要找cc_number为1111222233334444的pin大小。
- 在number框中输入101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') > 5000 );看值是否大于5000;
- 依次尝试,锁定一个范围2250-2375;
- burpsuite设置好代理 抓包然后暴力破解。
-
问题回答
- SQL注入攻击原理,防御
- 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。 根据相关技术原理,SQL注入可以分为平台层注入和代码层注入。前者由不安全的数据库配置或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。
- 防御:通过正则表达式来操作,对用户输入矫验;不把机密信息明文存放,加密敏感信息。
- XSS攻击的原理,防御
- 原理:XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。这些代码包括HTML代码和客户端脚本。这种类型的漏洞由于被骇客用来编写危害性更大的phishing攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而JavaScript是新型的“ShellCode”。
- 防御:对“javascript”这个关键字进行检索,一旦发现提交信息中包含“javascript”,就认定为XSS攻击
- CSRF攻击原理,防御
- SQL注入攻击原理,防御
-