ToB企服应用市场:ToB评测及商务社交产业平台

标题: DVWA-XSS(Reflected) [打印本页]

作者: 吴旭华    时间: 2024-6-11 11:43
标题: DVWA-XSS(Reflected)
反射型XSS可以用来窃取cookie
Low

输入1111进行测试,发现1111被打印

输入<script>alert(document.cookie)</script>,出现弹窗,得到cookie

Medium

查看后端代码,发现对<script>进行了转义,但是可以通过双写,大小写等进行绕过
  1. <?php
  2. header ("X-XSS-Protection: 0");
  3. // Is there any input?
  4. if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
  5.         // Get input
  6.         $name = str_replace( '<script>', '', $_GET[ 'name' ] );
  7.         // Feedback for end user
  8.         $html .= "<pre>Hello {$name}</pre>";
  9. }
  10. ?>
复制代码
High

观察后端代码,“*” 代表一个或多个任意字符,“i” 代表不区分大小写,<script>标签被完全过滤。但是我们可以通过其他的标签比方 img、body 等标签的事件注入。
参考XSS Payload List
  1. <?php
  2. header ("X-XSS-Protection: 0");
  3. // Is there any input?
  4. if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
  5.         // Get input
  6.         $name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] );
  7.         // Feedback for end user
  8.         $html .= "<pre>Hello {$name}</pre>";
  9. }
  10. ?>
复制代码
eg:<img src = 1 onerror = alert(document.cookie)>

Impossible

观察后端代码利用 htmlspecialchars 函数将参数中的特别字符(如 <, >, &, " 等)转换为 HTML 实体。
  1. <?php
  2. // Is there any input?
  3. if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
  4.         // Check Anti-CSRF token
  5.         checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' );
  6.         // Get input
  7.         $name = htmlspecialchars( $_GET[ 'name' ] );
  8.         // Feedback for end user
  9.         $html .= "<pre>Hello {$name}</pre>";
  10. }
  11. // Generate Anti-CSRF token
  12. generateSessionToken();
  13. ?>
复制代码
我们打印一下输入<script>alert(document.cookie)</script>转义后的字符串

这样欣赏器会将其作为普通文本表现,而不是执行。
防御

1.http-only克制js语句获取cookie
2.过滤输入的字符,比方 “ ’ ”,“ " ”,“<”,“>” 等非法字符;
3.对输入到页面的数据进行编码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4