首页 > 编程语言 >DVWA 之 JavaScript - JavaScript攻击

DVWA 之 JavaScript - JavaScript攻击

时间:2023-03-05 16:35:48浏览次数:52  
标签:do success 攻击 JavaScript XX DVWA token 输入

十二、JavaScript - JavaScript攻击

原理

在页面上输入的内容中带有可执行的 javascript,而使用这段输入内容的时候,让这段用户提供的代码执行了,也就是你写的代码执行了非你写的代码,就会导致网页的不可行乃至更严重的安全威胁。

1. Low

在 Phase 中输入 success,提交一下会出现 Invalid token

打开浏览器控制台,查看情况,发现这个 token 是在前台生成的,是用 md5("ChangeMe"),而后台期待的 md5 是 md5("success")。

因此在在输入框中输入 success 之后,还得再控制台调用 generate_token() 函数

2. Medium

思路是一样的,只是生成 token 的函数放到另外的 js 文件中了

打开链接地址 http://127.0.0.1/DVWA-master/vulnerabilities/javascript/source/medium.js,可以看到内容如下

function do_something(e){
    for(var t="",n=e.length-1;n>=0;n--)t+=e[n];
    return t}
setTimeout(function(){
    do_elsesomething("XX")
},300);
function do_elsesomething(e){ 
    document.getElementById("token").value = do_something(e+document.getElementById("phrase").value+"XX")
}

所以,在输入框输入 success 之后,再控制台中输入 do_elsesomething("XX") 就可以了

3. High

高级和中级类似,生成 token 的逻辑在额外的 js 文件中,不同的是这里的 JS 经过了混淆,显得很混乱,属于看不懂的代码。

可以通过 http://deobfuscatejavascript.com/,将混淆的代码转成能看懂的 JS 代码

其中关键的部分如下

这里生成 token 的步骤是:

  1. 执行 token_part_1("ABCD", 44)
  2. 执行 token_part_2("XX")(原本是延迟 300ms 执行)
  3. 点击按钮的时候执行 token_part_3

所以我们在输入框输入 success 后,再到控制台中输入 token_part_1("ABCD", 44) 和 token_part_2("XX") 这两个函数就可以了

防护方法

永远不能相信来自用户输入的任何信息,必须假设发送给用户的任何代码都可以被操纵或绕过,因此没有不可能的级别。

意思就是说,只要token是在客户端生成的,不论你的代码有多复杂,用户永远有办法操纵或者绕过它,因此,token的生成一定要在服务器端。

另外,其他的关键代码也不要写在客户端,因为这样很容易被攻击者利用,非常不安全。

标签:do,success,攻击,JavaScript,XX,DVWA,token,输入
From: https://www.cnblogs.com/augustine0654/p/17180849.html

相关文章

  • DVWA 之 Weak Session IDs - 弱会话IDs
    十三、WeakSessionIDs-弱会话IDs原理用户登录后,在服务器就会创建一个会话(Session),叫做会话控制,接着访问页面的时候就不用登录,只需要携带Session去访问。SessionID......
  • DVWA 之 XSS(Reflected) - 反射型XSS
    九、XSS(Reflected)-反射型XSS原理XSS,全称CrossSiteScripting,即跨站脚本攻击,某种意义上也是一种注入攻击,指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,......
  • 用javascript实现轮播图
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"conten......
  • DVWA之File Inclusion
    1.本地文件包含漏洞:仅能够对服务器本地的文件进行包含,由于服务器上的文件并不是攻击者所能够控制的,因此该情况下,攻击着更多的会包含一些固定的系统配置文件,从而读取系统敏......
  • 【故障公告】攻击式巨量并发请求再次来袭,引发博客站点故障
    继周五18:40-18:55左右首次来袭,今天11:10-12:10左右,来路不明的攻击式巨量并发请求再次袭击园子,而且攻势更猛,单台负载均衡最高QPS超过4万。这种前所未遇的超日常百倍......
  • JavaScript filter
    使用 ​​filter()​​​ 过滤“空”值,如 ​​null​​​、​​undefined​​​ 或空字符串,可以使用 ​​.filter(Boolean)​​ 的缩写方法也可以constwords=['s......
  • DVWA 之 File Upload-文件上传
    五、FileUpload-文件上传文件上传漏洞,通常是由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞......
  • DVWA 之 Insecure CAPTCHA-不安全的验证
    六、InsecureCAPTCHA-不安全的验证原理InsecureCAPTCHA意思是不安全的验证码,CAPTCHA是CompletelyAutomatedPublicTuringTesttoTellComputersandHumansApa......
  • DVWA 之 SQL Injection-SQL注入
    七、SQLInjection-SQL注入原理SQL注入是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到恶意执行SQL语句的目的。手工注入常规思路判断是否存在注入,注......
  • DVWA 之 SQL Injection(Blind) - SQL注入(盲注)
    八、SQLInjection(Blind)-SQL注入(盲注)原理SQL盲注与一般注入的区别在于一般的注入攻击者可以直接从页面上看到注入语句的执行结果,而盲注时攻击者通常无法从显示页面......