前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Web安全靶场

Web安全靶场

作者头像
糖果
发布2021-07-19 11:36:54
6910
发布2021-07-19 11:36:54
举报
文章被收录于专栏:糖果的实验室糖果的实验室
学习Web安全技术,除了要理清漏洞的原理之外,更好可以针对Web漏洞进行复现。Web漏洞的产生的原因,很多时候是因为Web代码的安全性出现问题,在各种Web开发语言中,PHP语言开发的Web系统的漏洞,被利用的情况比较常见。

DVWA作为安全靶场软件,集合了各种常见的漏洞PHP代码。安全靶场有很多种,DVWA是众多靶场中的一个,对于经典的PHP的Web漏洞,DVWA虽然不能说表现的多么惊艳,但对于模拟漏洞的现场,用于复现测试,可以达到预期效果,例如:WebShell执行这种漏洞的复现,可以轻松的用DVWA进行漏洞现场还原。

DVWA提供了常见的SQL注入、XSS注入、XShell执行、CSRF、上传执行等多种漏洞模拟,同时使用者可以阅读PHP源代码,安全测试人员对源代码进行审计,学习漏洞代码的样式。

以命令执行漏洞的代码为例,以下:

代码语言:javascript
复制

<?php

if( isset( $_POST[ 'Submit' ]  ) ) {
  // Get input
  $target = $_REQUEST[ 'ip' ];

  // Determine OS and execute the ping command.
  if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
    // Windows
    $cmd = shell_exec( 'ping  ' . $target );
  }
  else {
    // *nix
    $cmd = shell_exec( 'ping  -c 4 ' . $target );
  }

  // Feedback for the end user
  $html .= "<pre>{$cmd}</pre>";
}

?>

这段代码的本意是,只考虑让用户在表单中提交一个IP地址,然后由PHP程序通过shell_exec系统调用执行Ping指令,去测试用户提交的IP的是否可以Ping通。但是因为没有考虑到,用户可能输入IP以外的数据,比如其他可执行指令,造成其他命令被一起执行,程序的设计者没有对输入提交的IP地址以外的非法数据做恰当的过滤。

在生产环境中如果出现了类似的情况,我们可以考虑在Web防火墙,对用户提交的表单内容,尝试做一些过滤。同时可以考虑在PHP程序执行阶段,监控shell_exec执行的其他的新的命令进程,在内存的调用栈变化信息、 观察对应生成的火焰图像,给出报警提示。

在《墨守之道-Web服务安全架构与实践》这本书,就出现了以DVWA模拟漏洞执行,通过尝试在WAF系统上创建安全检测规则,拦截用户非法提交的非IP以外的参数。也同时基于OpenRest Xray的动态跟踪技术,基于云原生语言YSQL等工具,实践了如何发现PHP的命令执行漏洞在被利用时,如何获得PHP执行栈的信息、有对应的CPU火焰图的特征。

DVWA不算很复杂的靶机项目,但足以复现典型的PHP命令执行漏洞。在命令执行漏洞之外,DVWA还提供很多其他的漏洞案例,可以提供给安全测试人员进行操作实践,漏洞代码审计学习,也可作为攻防演练的霸机环境,测试安防系统威胁发现的能力。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 糖果的实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
手游安全测试
手游安全测试(Security Radar,SR)为企业提供私密的安全测试服务,通过主动挖掘游戏业务安全漏洞(如钻石盗刷、服务器宕机、无敌秒杀等40多种漏洞),提前暴露游戏潜在安全风险,提供解决方案及时修复,最大程度降低事后外挂危害与外挂打击成本。该服务为腾讯游戏开放的手游安全漏洞挖掘技术,杜绝游戏外挂损失。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档