bWAPP / A3 - Cross-Site Scripting (XSS) /

8.跨站脚本攻击(XSS)——反射型GET

影响范围:主站
URL:http://192.168.211.131/bWAPP/xss_get.php
描述:XSS 的危害在于允许攻击者注入代码到 web 站点中,加载网页时就会在受害者浏览器上得到执行。用户输入参数从客户端上传至服务器,由于缺乏对用户输入参数的检查,导致可以植入 javascript 代码,并在服务器下次返回网页结果至客户端的时候触发执行。
威胁程度:高危

POC:

1、访问网址:http://192.168.211.131/bWAPP/xss_get.php

2、在 firstname 和 lastname 的文本框内输入如下语句: 和 You just got hacked!

3、javascript 代码被执行,在当前页面返回了 cookie 的值,更进一步能够轻易发送 cookie 的值给攻击者。

解决方案:

1、查看服务器端处理响应的脚本文件 ( xss_get.php )。

2、对用户输入的内容通过 htmlentities 函数转换,把程序可解释执行的字符串转换成不可执行的。

3、漏洞被修复。

9 .跨站脚本——反射型JSON

影响范围:主站
URL:http://192.168.211.131/bWAPP/xss_json.php
描述:在搜索电影的文本框中输入的值被提交到服务器,服务器不检查输入的内容,这就导致当服务器返回 json 对象到客户端的时候产生严重的问题,为了解析 json 内容并适当展示,就会执行 javascript 代码,如果原始内容中本身就包含 javascript 代码,那就很有可能得到执行。
威胁程度:高危

POC:

1、访问 URL:http://192.168.211.131/bWAPP/xss_json.php

2、查看源代码,发现从服务器返回的文本框内容是通过 javascript 解析的 json 对象。

3、json 字符串可以通过在电影名称后面添加 ‘’}]}’ 来闭合,然后再添加 javascript 代码,最后添加 // 字符。输入内容如下:

watchmen"}]}' ;prompt("Enter password to continue:"); alert("Password received with thanks");//

4、通过提交上面的输入内容,导致额外的 javascript 代码被执行。

5、比如可以在用户不知情的情况下偷取用户信息。( 自己在火狐和 chrome 上没有实验成功,感觉是被浏览器处理了 )

解决方案:

1、查看服务器端处理响应的脚本 ( xss_json.php )。

2、用户端提交的电影名称在未做任何检查的情况下被存储,这就带来了所见到的不安性。

3、修复这个漏洞,需要过滤掉可以被浏览器解析的特殊字符,因此利用 htmlspecialchars 函数对特殊字符进行转换,比如单引号、双引号等。

4、修改服务端脚本后,提交同样的请求,返回的不再是特殊字符,而是转换成了 html 格式输出,因此漏洞被修复。

你可能感兴趣的:(闯关游戏)