完成第三章的修正

This commit is contained in:
2025-10-21 08:57:19 +08:00
parent be8fcdf201
commit f18bd95a1b
2 changed files with 168 additions and 7 deletions
+36 -7
View File
@@ -52,14 +52,23 @@ http://localhost:8081/2020CodeAudit/C4/4-1-1-1-SQL.php?id=-1 union select 1,user
?id=-1' and 1=1%23
```
%23 表示特殊字符#
%23 是16进制,表示特殊字符#
MySQL 运行的 SQL 语句为
那么MySQL 运行的 SQL 语句为
```
select * from user where id= ' -1\' and 1 = 1#'
```
[addslashes](https://www.php.net/manual/zh/function.addslashes.php)函数:
> 返回需要在转义字符之前添加反斜线的字符串。这些字符是:
>
> - 单引号(`'`
> - 双引号(`"`
> - 反斜线(`\`
> - NULNUL 字节)
很明显这是没有注入成功的,我们提交的单引号被转义导致没有闭合前面的单引号。
但是我们提交:
@@ -120,6 +129,10 @@ http://localhost:8081/2020CodeAudit/C4/4-1-1-2-SQL-GBK.php?id=%df' union select
结果:Array ( [0] => 1 [1] => 2 [2] => root@localhost [3] => 4 )
```
注意,为什么是'運\\\\'有两个斜杠?可能你的PHP环境中配置了 **magic_quotes_gpc** ,会自动为GET或者是POST提交的数据前面增加反斜杠转义。
防范:
1. 在执行查询之前先执行 SET NAMES gbk,character_set_client=binary
@@ -147,13 +160,25 @@ http://localhost:8081/2020CodeAudit/C4/4-1-1-2-SQL-GBK.php?id=%df' union select
http://localhost:8081/2020CodeAudit/C4/4-1-1-2-SQL-urlcode.php?p=1%2527
````
运行结果:
- %25 对应字符 %
这个时候就出现了问题。PHP首先会对传递过后的URL进行自动解码,解码后得到的请求字符串是:
```
p=1%27
```
这时如果再使用 urldecode ,相当于对url进行了二次解码,%27再解码表示字符 ' 。因此该漏洞叫做**二次 urldecode 注入**,其实是解码了两次。
因此运行结果:
```
$a=1%27
$b=1'
```
注意:代码中的 addslashes 函数其实没有作用,因为url中没有包含需要 addslashes 处理的字符。
### 1.2.3. espcms搜索注入分析
漏洞在 interface/search.php 文件和 interface/3gwap_search.php 文件 in_taglist()函数都存在。
@@ -199,8 +224,6 @@ http://localhost:8081/espcms/index.php?ac=search&at=taglist&tagkey=a%2527,tags)
/admin/admin_link.php 部分代码:
```php
// 。。。
require_once(ADMIN_ROOT_PATH.'include/admin_link_fun.php');
@@ -269,12 +292,16 @@ logo地址输入:
1 onerror=alert(1)
```
r是字母r的HTML实体编码。
&#114 ;“是字母r的HTML实体编码。
其实意思是:
1 onerror=alert(1)
> onerror可以用于不同的对象,比如window对象、img元素或者其他资源加载的元素。当这些对象发生错误时,会触发onerror事件。例如,当图片加载失败时,img的onerror事件会被触发,可以执行一些回调函数,比如替换图片或者记录错误。
>
> 另外,onerror还可以用于资源加载,比如link、script、img等标签。例如,当script标签加载失败时,onerror事件会被触发,可以用来动态加载备用脚本。
登录后台:
```
@@ -378,4 +405,6 @@ Token翻译中文为“标志”,在计算机认证领域叫令牌。利用验
http://localhost/2020CodeAudit/C4/token/4-3-2-1-Token.php
```
问题:什么是session,工作原理是什么?cookie 又是什么?session 和 cookie 有什么联系?
问题:什么是session,工作原理是什么?cookie 又是什么?session 和 cookie 有什么联系?
> todo: 可能需要补充 cookie 和 session 的知识!