20145238-荆玉茗 《网络对抗技术》-Web安全基础实践

Web安全基础实践

实践过程记录

实验准备:

  • 输入命令java -jar webgoat-container-7.0.1-war-exec.jar,一直等待等待直到出现
    html

  • 在浏览器中打开localhost:8080/WebGoatjava

SQL练习

1.String SQL Injectionweb

  • 题目的意思是输入用户名查询表单,如今想显示全部用户名信用卡号。
  • 咱们只须要构造一个永真式,将WHERE部分的结果忽略,只执行后面的1,即输入'or '1'='1,第一个分号用来闭合lastname的第一该分号,第二个闭合后面的分号,这样就将一条语句拆成了两条语句。

2.Command Injectionsql

  • 题目为命令行注入,猜想多是要实现命令行的功能,可是只有一个选择下拉菜单,因此首先想到查看其网页代码,定位到选择框
    数据库

  • 右键能够看到有编辑html的选项。添加netstat -a语句(查看开放全部端口),可是看到先后均有双引号,因此添加两个闭合他们,&&链接两条语句
    浏览器

3.Numeric SQL Injection安全

  • 数字型SQL注入,经过下拉菜单查看天气注入,要求直接查看全部的天气。和上述实验相似,查看他的网页代码,点开编辑网页,能够发现与上一题不一样,这里没有‘’因此咱们只需在101后面加上or 1=1便可。

4.Log Spoofing服务器

  • 日志欺骗,你的目标是是用户名为admin的用户在日志中显示成功登录。明确①不须要登录成功②实际上就是输入一个用户名叫登录成功:admin③在ASCII码中回车换行表示为%0a%0d

5.String SQL Injectioncookie

  • 无密码登录,发现他输入password的地方作了限制只能八位,因此打开代码,将长度改成20,格式类型改成文本框。再输入以前的` or1=1` 记得看清题目,要选择老板为Neville)

6.Database Backdoorssession

  • 数据库后门,使用SQL注入修改员工工资
  • 首先构造永真式or 1=1 ,在SQL中修改信息使用update语句,即updata employee set salary=8888888

XSS(Cross-Site Scripting)

7.Phishing with XSS

  • 建立表单,引导访问者输入用户名密码,并将表单提交到指定网页。

8.Stored XSS Attacks

  • 存储型XSS攻击,要写入一个网页或弹窗,随便试了一个title 和message发现均有输出,因此能够在任意的文本框中写入一个弹窗代码<SCRIPT>alert('Hi,5224!');</SCRIPT>

9.Reflected XSS Attacks

  • 反射型XSS攻击,要求获得脚本访问信用卡表单字段;
    示例代码以下:
    ");

    10.CSRF Prompt By-pass

    • 跨站请求伪造。
      <img src='attack?Screen=278&menu=900&transferFunds=5000'>

    实验后回答问题

    (1)SQL注入攻击原理,如何防护

    原理:

    • 对用户的输入继续严格的控制,避免出现构造注销符号-- ,或者构造永真式的机会。
    • 是经过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

      防护

    • 不信任任何人,将所有的数据进行验证(在服务器端进行验证)
    • 避免使用动态的SQL。例如预备陈述和参数化的查群等。
    • 使用web应用防御墙,即便更新漏洞打补丁。

    (2)XSS攻击的原理,如何防护

    原理:

    • 攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。,XSS漏洞分为两种,一种是DOM Based XSS漏洞,另外一种是Stored XSS漏洞。前者是基于网页DOM结构的攻击,后者攻击代码已经存储到服务器上或数据库中,用来收集cookie信息的一种方式。

    防护

    • 与SQL攻击防护方法大体相同,都是对用户输入加以限制和验证。
    • 实现Session标记(session tokens)、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。

    (3)CSRF攻击原理,如何防护

    原理:

    • CSRF攻击即跨站伪造攻击,顾名思义,就是攻击者向目标网站注入一个恶意的URL跨站地址,当用户点击了该URL,就能够进行一些用户本不但愿的事情。

    防护

    • 经过 referer、token 或者 验证码 来检测用户提交。
    • 尽可能不要在页面的连接中暴露用户隐私信息。
    • 对于用户修改删除等操做最好都使用post 操做 。
    • 避免全站通用的cookie,严格设置cookie的域。

    实验总结与体会

    • 作攻击的时候仍是颇有趣,只有亲自去尝试的时候才明白其真正的原理。看全篇英文的题目的结果就是我彻底不知道在讲啥,,,,,,连针对谁的攻击都看不见,,,,六级可能过了个假的。还有就是有些时候可能由于网速的缘由,输入了正确答案仍是不能congratulation,很奔溃。
相关文章
相关标签/搜索