gbk

CG CTF GBK Injection

╄→гoц情女王★ 提交于 2020-02-23 21:53:24
题目链接 GBK Injection想到宽字节注入,首先了解宽字节注入的原理 链接 http://chinalover.sinaapp.com/SQL-GBK/index.php?id=1%df%27 order by 2# 发现#被过滤掉了,遂使用%23(url编码) http://chinalover.sinaapp.com/SQL-GBK/index.php?id=1%df%27 order by 2%23 判断出表中有两列,就可以用:union select获取当前的库了 http://chinalover.sinaapp.com/SQL-GBK/index.php?id=1%df%27 union select 1,database()%23 没有爆出库的信息emm…因为没有and 1=2,又因为这个地方可能只接受一个参数 http://chinalover.sinaapp.com/SQL-GBK/index.php?id=1%df%27 and 1=2 union select 1,database()%23 当前的库名为sae-chinalover,通过库名爆表名 http://chinalover.sinaapp.com/SQL-GBK/index.php?id=1%df%27 and 1=2 union select 1,group_concat(table

Java中文乱码原因

∥☆過路亽.° 提交于 2020-02-23 15:17:20
Java中文乱码原因 Java在中文环境中乱码无处不在,而且出现的时间和位置也包涵广泛,具体的解决方法也是千奇百怪。 但是如果能理清其中的脉络,理解字符处 理的过程,对于解决问题很有指导意义,不至于解决了问题也不知道为什么。 其实,原因不外乎出在String输入时和输出时。 首先,Java中的任何String都是以UNICODE格式存在的。 很多人因为在GBK环境中使用String,会误以为String是GBK格式,实际上Java的String类中并没有存储CharSet信息的字段, 所有String中的字符只会以UNICODE的2字节形式存在。 String在构造时会逐一把字符按指定编码(默认值为系统编码GBK),转换为UNICODE字符,存入一个Char(无符号16位)数组中。 如: new String(bytes,"gbk"); 并不是说,生成一个GBK编码的字符串,而是按GBK逐一辨认字节数组bytes中的字符转化为UNICODE。 假设,bytes本是按GB编码的,构造方法在发现一个最高位为0的byte就作为ascii字符处理,最高位为1就和后面的一个byte合成中文字符, 再转换编码。 可以看出,在这个过程中,编码选择错误就会导致程序按错误方法辨认bytes,乱码就出现了。 在这里产生的乱码,很多时候还可以通过.getByte()方法修复,还没有后面的严重。 如:

转换流InputStreamReader & OutputStreamWriter

最后都变了- 提交于 2020-02-22 03:50:42
转换流InputStreamReader & OutputStreamWriter 比如当使用FileReader读取文件时,可以读取IDE默认的UTF-8编码的文件,但是当有一个文件是GBK文件时,使用FileReader读取文件会出现乱码,因此需要转换流,将编码格式进行转换。 转换流原理: 比如GBK是使用2个字节存储一个中文,而UTF-8使用3个字节存储一个中文文字。文件字符输入流FileRead读取文件时,事实上是调用了文件字节输入流FileInputStream,FileReader在读取文件时会按照IDE的默认编码表UTF-8去解码,当文件本来就是按照UTF-8编码的时候,解码就当然不会出现问题;但是当文件本来是按照GBK编码时,编码解码的方式不一样就会出现乱码。但是当使用转换流 InputStreamReader & OutputStreamWriter 读取和写入文件而不是FileReader或者FileWriter时,这两个流可以指定编码解码方式,这就可以避免出现乱码现象。 1、OutputStreamWriter java.util.OutputStreamWriter extends Writer 方法 作用 void write(int c) 写入单个字符 void write(char[] cbuf) 写入字符数组 abstract void write

Java 之 InputStreamReader 类

对着背影说爱祢 提交于 2020-02-22 03:50:13
InputStreamReader 类   1、概述      转换流 java.io.InputStreamReader ,是 Reader 的子类,是从字节流到字符流的桥梁。      该类 读取字节,并使用指定的字符集将其解码为字符。它的字符集可以由名称指定,也可以接受平台的默认字符集。   2、继承自父类的共性成员方法     该类继承于 Reader 类,继承了父类的共性成员方法: int read() 读取单个字符并返回。 int read(char[] cbuf)一次读取多个字符,将字符读入数组。 void close() 关闭该流并释放与之关联的所有资源。   3、构造方法 InputStreamReader(InputStream in) 创建一个使用默认字符集的 InputStreamReader。 InputStreamReader(InputStream in, String charsetName) 创建使用指定字符集的 InputStreamReader。      参数:      InputStream in:字节输入流,用来读取文件中保存的字节      String charsetName:指定的编码表名称,不区分大小写,可以是utf-8/UTF-8,gbk/GBK,...不指定默认使用UTF-8   4、使用步骤       ①

淘宝首页前端开发分析

回眸只為那壹抹淺笑 提交于 2020-02-21 11:42:47
doctype & charset: <!DOCTYPE HTML> ...... <meta charset="gbk"> 页面使用了HTML5 dtd以及HTML5 charset,页面编码使用“gbk” //从ASCII、GB2312到GBK,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK都属于双字节字符集 (DBCS); //UTF-8是Unicode的实现方式之一; //GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换; 相关阅读: gbk, gb2312,big5,unicode,utf-8,utf-16之间的关系 ============================================================= IE9下Pin的开发: 效果: <meta name="application-name" content="淘宝网 - 淘!我喜欢" /> <meta name="msapplication-tooltip" content="淘宝网 - 淘!我喜欢" /> <meta name="msapplication-task" content=

python字符串编码

浪尽此生 提交于 2020-02-18 07:03:15
python 默认编码   python 2.x 默认的字符编码是 ASCII ,默认的文件编码也是 ASCII 。   python 3.x 默认的字符编码是 unicode ,默认的文件编码是 utf-8 。 中文乱码 问题   无论以什么编码在内存里显示字符,存到硬盘上都是 二 进制,所以编码不对,程序就会出错。   常见编码有 ascii 编码(美国), GBK 编码(中国), shift_JIS 编码(日本 ), unicode (统一编码)等。   需 要注意的是,存到硬盘上时是以何种编码存的,再从硬盘上读出来时,就必须以何种编码读,要不然就 会出现乱码问题 。   常见的编码错误的原因有 如下,出现乱码时,按照编码之前的关系,挨个排错就能解决问题。      python 解释器的默认编码 ;      Terminal 使用的编码 ;      python 源文件文件编码 ;     操作系统的语言设置 。   Python 支持中文的编码: utf-8 、 gbk 和 gb2312 。 uft-8 为 国际通用 , 常用有数据库、编写代码 。 gbk 如 windows 的 cmd 使用 。 编码转换   如果想要中国的软件可以正常的在美国人的电脑上实现,有下面两种方法:    让美国人的电脑都装上 gbk 编码    让你的软件编码以 utf-8 编码   

sqli-宽字节注入

*爱你&永不变心* 提交于 2020-02-18 00:03:15
0x0 背景 当某字符的大小为一个字节时,称其字符为窄字节. 当某字符的大小为两个字节时,称其字符为宽字节. 所有英文默认占一个字节,汉字占两个字节 常见的宽字节编码:GB2312,GBK,GB18030,BIG5,Shift_JIS等等 0x1 宽字节注入原理 程序员为了防止sql注入,对用户输入中的单引号(’)进行处理,在单引号前加上斜杠(\)进行转义,这样被处理后的sql语句中,单引号不再具有‘作用’,仅仅是‘内容’而已,换句话说,这个单引号无法发挥和前后单引号闭合的作用,仅仅成为‘内容‘ 【再举个例子,要找某位名字里带单引号的用户,搜索的时候,就要让单引号成为内容去搜索,而不能起到其他作用】 而安全测试人员要绕过这个转义处理,使单引号发挥作用,有两个思路: 让斜杠(\)失去作用 让斜杠(\)消失 第一个思路就是借鉴程序员的防范思路,对斜杠(\)转义,使其失去转义单引号的作用,成为‘内容’ 第二个思路就是宽字节注入 当使用宽字节编码,如:GBK时,两个连在一起的字符会被认为是汉字,我们可以在单引号前加一个字符,使其和斜杠(\)组合被认为成汉字,从未达到让斜杠消失的目的,进而使单引号发挥作用 注意:前一个字符的Ascii要大于128,两个字符才能组合成汉字 0x2 注入方法 0x21 黑盒 可以看到,在发现单引号被转义后,当我们加了%df后,sql语句报错,说明单引号发挥了作用

python3字符串编码转换

人盡茶涼 提交于 2020-02-16 00:07:08
编码转换: 1、将文本已以二进制方式读取出来; 2、将读取的二进制文本已改文本的编码方式进行解码成Unicode 3、然后将解码后的Unicode编码成要转换的编码格式。 例:将utf-8转换成gbk模式 流程图:(例) utf-8------>unicode------>gbk 代码(例) f = open("oldFile.txt", "rb") # 以二进制方式打开 s = f.read() # 读取打开的文本 f.close() s_unicode = s.decode("utf-8") # 转换成Unicode s_gbk = s_unicode.encode("gbk") # Unicode转换成gbk模式 f = open("oldFile.txt", "wb") #以二进制方式创建 f.write(s_gbk) # 写入 f.close() 来源: https://www.cnblogs.com/lanlao/p/12315375.html

文件处理

纵然是瞬间 提交于 2020-02-15 05:42:25
目录 一、字符编码 1.1计算机基础   1.2文本编译器存取文件的原理   1.3Python解释器执行py文件的原理   1.4 Python解释器与文本编译的异同   1.5 字符编码介绍     1.5.1 什么是字符编码     1.5.2 涉及到字符编码的两个场景     1.5.3 字符编码发展史与分类     1.5.4内存为什么不用UTF-8呢?     1.5.5 字符编码之文本编译器操作     1.5.6 乱码分析   1.6总结 二、Python2和3字符编码的区别   2、1 字符编码应用之Python   2、1、1 执行Python程序的三个阶段   2、2 Python2与Python3字符串类型的区别   2、2、1 Python2 三、 基本的文件操作   3、1 什么是文件?   3、2 为什么要有文件?   3、3 如何用文件?   3、4 总结 四、绝对路径和相对路径   4、1 绝对路径   4、2 相对路径 五、文件的三种打开方式   5、1 文件打开模式之r模式   5、2 文件打开模式之w模式   5、3 文件打开模式之a模式   5、4 文件打开读取二进 六、with管理文件操作上下文 七、文件的高级应用 八、文件修改的两种方式   8、1 方式一   8、2 方式二 一、字符编码 1.1计算机基础 CPU:控制程序的运行

Python中使用中文

馋奶兔 提交于 2020-02-14 23:12:14
python的中文问题一直是困扰新手的头疼问题, 这篇文章将给你详细地讲解一下这方面的知识。当然, 几乎可以确定的是,在将来的版本中, python会彻底解决此问题,不用我们这么麻烦了。 先来看看python的版本: >>> import sys >>> sys.version '2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)]' (一) 用记事本创建一个文件ChineseTest.py, 默认ANSI: s = "中文" print s 测试一下瞧瞧: E:/Project/Python/Test>python ChineseTest.py File "ChineseTest.py", line 1 SyntaxError: Non-ASCII character '/xd6' in file ChineseTest.py on line 1, but no encoding declared; see http://www.pytho n.org/peps/pep-0263.html for details 偷偷地把文件编码改成UTF-8: E:/Project/Python/Test>python ChineseTest.py File "ChineseTest.py", line 1