From f18bd95a1bd88ada5ec597b0893e25d9294ea691 Mon Sep 17 00:00:00 2001 From: danny <12793148@qq.com> Date: Tue, 21 Oct 2025 08:57:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=AC=AC=E4=B8=89=E7=AB=A0?= =?UTF-8?q?=E7=9A=84=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 工具/ascii.md | 132 ++++++++++++++++++++++++++++++++++++++++++++++++ 第四章/01.md | 43 +++++++++++++--- 2 files changed, 168 insertions(+), 7 deletions(-) create mode 100755 工具/ascii.md diff --git a/工具/ascii.md b/工具/ascii.md new file mode 100755 index 0000000..9d27632 --- /dev/null +++ b/工具/ascii.md @@ -0,0 +1,132 @@ +# ASCII 码表 + +| 十进制 | 十六进制 | 字符 | 描述 | +|--------|----------|-------|--------------------| +| 0 | 0x00 | NUL | 空字符 | +| 1 | 0x01 | SOH | 标题开始 | +| 2 | 0x02 | STX | 文本开始 | +| 3 | 0x03 | ETX | 文本结束 | +| 4 | 0x04 | EOT | 传输结束 | +| 5 | 0x05 | ENQ | 询问字符 | +| 6 | 0x06 | ACK | 确认字符 | +| 7 | 0x07 | BEL | 响铃 | +| 8 | 0x08 | BS | 退格 | +| 9 | 0x09 | HT | 水平制表符 | +| 10 | 0x0A | LF | 换行 | +| 11 | 0x0B | VT | 垂直制表符 | +| 12 | 0x0C | FF | 换页 | +| 13 | 0x0D | CR | 回车 | +| 14 | 0x0E | SO | 取消移位 | +| 15 | 0x0F | SI | 启用移位 | +| 16 | 0x10 | DLE | 数据链路转义 | +| 17 | 0x11 | DC1 | 设备控制1(XON) | +| 18 | 0x12 | DC2 | 设备控制2 | +| 19 | 0x13 | DC3 | 设备控制3(XOFF) | +| 20 | 0x14 | DC4 | 设备控制4 | +| 21 | 0x15 | NAK | 否定确认 | +| 22 | 0x16 | SYN | 同步空闲 | +| 23 | 0x17 | ETB | 传输块结束 | +| 24 | 0x18 | CAN | 取消 | +| 25 | 0x19 | EM | 介质结束 | +| 26 | 0x1A | SUB | 替换 | +| 27 | 0x1B | ESC | 退出 | +| 28 | 0x1C | FS | 文件分隔符 | +| 29 | 0x1D | GS | 组分隔符 | +| 30 | 0x1E | RS | 记录分隔符 | +| 31 | 0x1F | US | 单元分隔符 | +| 32 | 0x20 | SP | 空格 | +| 33 | 0x21 | ! | 感叹号 | +| 34 | 0x22 | " | 双引号 | +| 35 | 0x23 | # | 数字符号 | +| 36 | 0x24 | $ | 美元符号 | +| 37 | 0x25 | % | 百分号 | +| 38 | 0x26 | & | 和符号 | +| 39 | 0x27 | ' | 单引号 | +| 40 | 0x28 | ( | 左括号 | +| 41 | 0x29 | ) | 右括号 | +| 42 | 0x2A | * | 星号 | +| 43 | 0x2B | + | 加号 | +| 44 | 0x2C | , | 逗号 | +| 45 | 0x2D | - | 减号/横线 | +| 46 | 0x2E | . | 句点 | +| 47 | 0x2F | / | 斜杠 | +| 48 | 0x30 | 0 | 数字0 | +| 49 | 0x31 | 1 | 数字1 | +| 50 | 0x32 | 2 | 数字2 | +| 51 | 0x33 | 3 | 数字3 | +| 52 | 0x34 | 4 | 数字4 | +| 53 | 0x35 | 5 | 数字5 | +| 54 | 0x36 | 6 | 数字6 | +| 55 | 0x37 | 7 | 数字7 | +| 56 | 0x38 | 8 | 数字8 | +| 57 | 0x39 | 9 | 数字9 | +| 58 | 0x3A | : | 冒号 | +| 59 | 0x3B | ; | 分号 | +| 60 | 0x3C | < | 小于号 | +| 61 | 0x3D | = | 等号 | +| 62 | 0x3E | > | 大于号 | +| 63 | 0x3F | ? | 问号 | +| 64 | 0x40 | @ | 商业符号 | +| 65 | 0x41 | A | 大写字母A | +| 66 | 0x42 | B | 大写字母B | +| 67 | 0x43 | C | 大写字母C | +| 68 | 0x44 | D | 大写字母D | +| 69 | 0x45 | E | 大写字母E | +| 70 | 0x46 | F | 大写字母F | +| 71 | 0x47 | G | 大写字母G | +| 72 | 0x48 | H | 大写字母H | +| 73 | 0x49 | I | 大写字母I | +| 74 | 0x4A | J | 大写字母J | +| 75 | 0x4B | K | 大写字母K | +| 76 | 0x4C | L | 大写字母L | +| 77 | 0x4D | M | 大写字母M | +| 78 | 0x4E | N | 大写字母N | +| 79 | 0x4F | O | 大写字母O | +| 80 | 0x50 | P | 大写字母P | +| 81 | 0x51 | Q | 大写字母Q | +| 82 | 0x52 | R | 大写字母R | +| 83 | 0x53 | S | 大写字母S | +| 84 | 0x54 | T | 大写字母T | +| 85 | 0x55 | U | 大写字母U | +| 86 | 0x56 | V | 大写字母V | +| 87 | 0x57 | W | 大写字母W | +| 88 | 0x58 | X | 大写字母X | +| 89 | 0x59 | Y | 大写字母Y | +| 90 | 0x5A | Z | 大写字母Z | +| 91 | 0x5B | [ | 左方括号 | +| 92 | 0x5C | \ | 反斜杠 | +| 93 | 0x5D | ] | 右方括号 | +| 94 | 0x5E | ^ | 脱字符 | +| 95 | 0x5F | _ | 下划线 | +| 96 | 0x60 | ` | 反引号 | +| 97 | 0x61 | a | 小写字母a | +| 98 | 0x62 | b | 小写字母b | +| 99 | 0x63 | c | 小写字母c | +| 100 | 0x64 | d | 小写字母d | +| 101 | 0x65 | e | 小写字母e | +| 102 | 0x66 | f | 小写字母f | +| 103 | 0x67 | g | 小写字母g | +| 104 | 0x68 | h | 小写字母h | +| 105 | 0x69 | i | 小写字母i | +| 106 | 0x6A | j | 小写字母j | +| 107 | 0x6B | k | 小写字母k | +| 108 | 0x6C | l | 小写字母l | +| 109 | 0x6D | m | 小写字母m | +| 110 | 0x6E | n | 小写字母n | +| 111 | 0x6F | o | 小写字母o | +| 112 | 0x70 | p | 小写字母p | +| 113 | 0x71 | q | 小写字母q | +| 114 | 0x72 | r | 小写字母r | +| 115 | 0x73 | s | 小写字母s | +| 116 | 0x74 | t | 小写字母t | +| 117 | 0x75 | u | 小写字母u | +| 118 | 0x76 | v | 小写字母v | +| 119 | 0x77 | w | 小写字母w | +| 120 | 0x78 | x | 小写字母x | +| 121 | 0x79 | y | 小写字母y | +| 122 | 0x7A | z | 小写字母z | +| 123 | 0x7B | { | 左花括号 | +| 124 | 0x7C | \| | 竖线 | +| 125 | 0x7D | } | 右花括号 | +| 126 | 0x7E | ~ | 波浪号 | +| 127 | 0x7F | DEL | 删除 | diff --git a/第四章/01.md b/第四章/01.md index 1f9ef2a..45c2651 100755 --- a/第四章/01.md +++ b/第四章/01.md @@ -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)函数: + +> 返回需要在转义字符之前添加反斜线的字符串。这些字符是: +> +> - 单引号(`'`) +> - 双引号(`"`) +> - 反斜线(`\`) +> - NUL(NUL 字节) + 很明显这是没有注入成功的,我们提交的单引号被转义导致没有闭合前面的单引号。 但是我们提交: @@ -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实体编码。 +“r ;“是字母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 有什么联系? \ No newline at end of file +问题:什么是session,工作原理是什么?cookie 又是什么?session 和 cookie 有什么联系? + +> todo: 可能需要补充 cookie 和 session 的知识! \ No newline at end of file