SINK漏洞专项测试试题(含详细答案解析)_第1页
SINK漏洞专项测试试题(含详细答案解析)_第2页
SINK漏洞专项测试试题(含详细答案解析)_第3页
SINK漏洞专项测试试题(含详细答案解析)_第4页
SINK漏洞专项测试试题(含详细答案解析)_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SINK漏洞专项测试试题(含详细答案解析)适用场景:Web安全入门考核、代码审计专项测试、渗透测试基础考核一、单项选择题(共10题,每题4分,共40分)1.在代码审计中,关于Source(污染源)和Sink(执行点)的核心定义,下列说法正确的是?()A.Sink是用户可控输入点,Source是危险函数执行点B.Source是用户可控输入污染源,Sink是触发漏洞的危险执行函数/接口C.Source和Sink均为用户输入点,无本质区别D.Sink只存在于后端代码,前端代码无Sink点2.XSS漏洞的核心Sink执行点是?()A.$_GET、$_POSTB.echo、print、document.write、innerHTMLC.isset、emptyD.file_exists、is_file3.SQL注入漏洞的核心Sink执行点是?()A.接收用户参数的变量B.数据库查询执行函数(mysql_query、mysqli_query等)C.页面输出函数D.文件读取函数4.文件包含漏洞的关键Sink函数是?()A.include、require、include_onceB.fopen、freadC.move_uploaded_fileD.file_put_contents5.命令执行漏洞的Sink执行点不包括以下哪个?()A.system()、exec()B.passthru()、shell_exec()C.trim()、strlen()D.popen()、proc_open()6.代码审计中“可控Source直达危险Sink”,代表的含义是?()A.用户输入经过多层过滤后传入安全函数B.用户可控参数未经过滤、净化,直接传入危险执行函数C.代码无用户输入,直接执行固定参数D.代码存在冗余,无实际执行逻辑7.文件读取漏洞的核心Sink函数是?()A.echoB.fread、file_get_contentsC.headerD.explode8.以下代码中,属于漏洞Sink点的是哪一行?()$id=$_GET['id'];$sql="select*fromuserwhereid=$id";$res=mysqli_query($conn,$sql);A.第一行B.第二行C.第三行D.无Sink点9.前端JS中,可触发DOM-XSS的Sink点是?()A.let、var变量定义B.innerText、textContentC.eval()、setTimeout(字符串参数)D.console.log()10.关于Sink漏洞修复原则,错误的是?()A.过滤Source输入,拦截特殊字符B.对Sink执行函数做参数白名单限制C.直接删除所有Sink函数D.使用安全函数替代危险Sink函数二、判断题(共5题,每题3分,共15分)1.只要代码中存在危险Sink函数,就一定存在可利用漏洞。()2.用户不可控的固定参数传入Sink函数,不会产生安全漏洞。()3.文件上传漏洞的Sink点是文件保存、移动执行函数。()4.经过url编码的用户输入,传入XSSSink点绝对安全。()5.代码审计的核心链路就是:寻找Source→追踪数据流→定位Sink点→判断是否可控利用。()三、简答题(共3题,每题7分,共21分)1.简单说明代码审计中Source和Sink的数据流漏洞核心逻辑。2.列举PHP中5个高危命令执行类Sink函数,并说明危害。3.简述Sink漏洞的通用修复思路。四、代码分析题(共2题,每题12分,共24分)1.分析以下PHP代码,找出Source、Sink,判断漏洞类型并说明利用方式PlainText

<?php

$filename=$_GET['file'];

include($filename);

?>2.分析以下JS代码,判断是否存在漏洞,定位Sink点,说明漏洞成因PlainText

<script>

leturl=location.search;

document.write(url);

</script>完整答案及详细解析一、单项选择题答案1.B解析:Source是用户可控的污染源(GET/POST/COOKIE等输入),Sink是危险执行函数,是漏洞触发的核心点。前端后端均存在Sink点。2.B解析:XSS核心是可控代码被前端/页面输出函数执行,echo、innerHTML、document.write都是典型XSSSink点;A是输入源,不属于执行点。3.B解析:SQL注入的本质是可控参数拼接到SQL语句后,被数据库执行函数调用执行,查询函数是核心Sink点。4.A解析:include、require系列函数是文件包含专属高危Sink,可直接解析执行任意文件内容。5.C解析:trim(去空格)、strlen(获取长度)为普通字符串处理函数,无命令执行风险,其余均为系统命令执行Sink函数。6.B解析:可控Source直达Sink,就是用户输入无过滤直接进入危险函数,是所有代码层漏洞的核心成因。7.B解析:file_get_contents、fread是读取文件内容的核心Sink,可控参数传入可读取任意敏感文件。8.C解析:第一行是Source输入点,第二行是语句拼接,第三行mysqli_query是最终执行的Sink漏洞触发点。9.C解析:eval可执行任意JS代码,setTimeout传入字符串也会解析执行代码,是DOM-XSS高危Sink;innerText会自动转义,无风险。10.C解析:不能直接删除Sink函数,大量业务逻辑依赖此类函数,正确做法是过滤输入、限制参数、替换安全函数。二、判断题答案1.×解析:仅有Sink函数,无用户可控Source输入,无法触发漏洞。2.√解析:参数固定不可控,攻击者无法操控数据流,不存在利用条件。3.√解析:move_uploaded_file等文件移动保存函数,是文件上传漏洞的核心Sink点。4.×解析:单次编码可被解码绕过,无法彻底防御XSS,需专用转义函数过滤。5.√解析:这是代码审计Sink溯源的标准流程。三、简答题答案1.核心逻辑:Web代码层漏洞的本质是污染源到执行点的不安全数据流。用户通过GET、POST、COOKIE等方式提交可控参数(Source污染源),参数未经过滤、转义、白名单校验,直接流入系统危险执行函数(Sink执行点),导致恶意代码、命令、语句被执行,触发对应漏洞。只要阻断Source到Sink的恶意数据流,即可修复漏洞。2.高危命令执行Sink函数及危害:(1)system():直接执行系统命令,输出执行结果;(2)exec():执行系统命令,返回命令执行结果数组;(3)shell_exec():通过shell执行命令,返回完整字符串结果;(4)passthru():执行命令并直接输出原始结果,常用于二进制输出;(5)popen():打开进程执行系统命令,可读取命令返回内容。危害:攻击者可传入rm、wget、nc、whoami等系统命令,实现服务器任意命令执行、文件读写、权限接管、服务器沦陷。3.Sink漏洞通用修复思路:第一,源头过滤:对所有Source用户输入做过滤、转义、正则匹配,拦截恶意字符;第二,中间校验:采用白名单机制校验参数,拒绝非法参数传入;第三,函数替换:用安全函数替代高危Sink函数,避免直接执行恶意内容;第四,权限限制:限制代码执行权限、文件读写权限、数据库操作权限;第五,后端防护:开启WAF、禁用高危PHP函数、关闭危险配置。四、代码分析题答案1.PHP代码分析结果Source(污染源):$_GET['file'],用户可通过URL可控传入任意文件路径;Sink(执行点):include()文件包含高危函数;漏洞类型:本地/远程文件包含漏洞;利用方式:本地包含可传入../../etc/passwd读取服务器敏感文件;远程包含漏洞可传入远程恶意PHP地址,直接执行后门代码,拿下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论