最近在学习SQL注入,绕过方法中有编码注入绕过,需要将关键词进行全编码,百度了一下没有找到全编码工具,所有的编码工具里"and"编码完还是"and",于是查了一下全编码的原理:

其实就是%加上字符的ASCII码十六进制表示方式(先转ASCII编码再转16进制)
例如字母a的ASCII码十六进制表示方式是61,那么a编码过来就是%61

比较简单,但实际需要用的时候,逐个字符去查ASCII码表不太方便,所以自己动手写了一个python脚本自动全编码解码,有需要的童鞋可以拿去用

print("hello world")
print("hello world")
print("hello world")
print("hello world")
print("hello world")
print("hello world")
print("hello world")
print("hello world")
print("hello world")
import os # 导入 os模块

def main():
clearFlag = "y"
while(1):
if clearFlag == "y" or clearFlag == "Y":
os.system("cls") # 执行cls命令清屏命令行
clearFlag = ""
string = input("请输入需要转换的字符串 :")
type = input("请选择操作类型(1:加密 2:解密) :")
while(type != "1" and type != "2"):
type = input("操作类型输入错误,请重新选择(1:加密 2:解密) :")
if type == "1" :
encode_string = encode(string) # encode_string=编码
print("编码结果为:"+encode_string+"\n")
if type == "2" :
decode_string = decode(string)
print("解码结果为:"+decode_string+"【请注意前后空格】\n")
clearFlag = input("按Y/y清空屏幕继续:") #编码
def encode(string):
encode_string = ""
for char in string:
encode_char = hex(ord(char)).replace("0x","%") #先转ASCII编码再转16进制,把0x替换为%
# 例如 i+=1 == i=i+1;所以 encode_string = encode_string + encode_char
encode_string += encode_char # encode_string += 空字符+结果
return encode_string #解码
def decode(string):
decode_string = ""
# 以%为分隔符
# %61%6e%64
# ['%61','%6e','%64']
#string_arr.pop(0)删除第一个元素
# ['61','6e','64']
string_arr = string.split("%") # 以%为分隔符
string_arr.pop(0) #删除第一个元素
for char in string_arr:
decode_char = chr(eval("0x"+char)) # chr(eval("0x"+ 61.....)),先输出0x61再通过chr转换为ASCII编码
decode_string += decode_char
return decode_string main()

  

python3实现url全编码/解码的更多相关文章

  1. C# url的编码解码,xml和json的序列化和反序列化

    参考中国慕课网dot net web编程应用程序实践 using System; using System.Collections.Generic; using System.IO; using Sy ...

  2. BOM / URL编码解码 / 浏览器存储

    BOM 浏览器对象模型 BOM(Browser Object Model) 是指浏览器对象模型,是用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的.可以与浏览器窗口进行互动的 ...

  3. Python学习之==>URL编码解码&if __name__ == '__main__'

    一.URL编码解码 url的编码解码需要用到标准模块urllib中的parse方法 from urllib import parse url = 'http://www.baidu.com?query ...

  4. Python3的URL编码解码

    前言 博主最近在用python3练习一些爬虫脚本的时候,发现一些url的编码问题,在浏览器提交请求api时,如果url中包含汉子,就会被自动编码掉.呈现的结果是 ==> %xx%xx%xx.如果 ...

  5. Python3编码解码url

    python2和python3对于url的解码和编码 某天做爬虫时遇到一个post请求的参数是编码过的字符串如下,看不懂,初步判断可能是url编码 str = "%7B%22Shopping ...

  6. URL地址编码和解码

    0. 参考 [整理]关于http(GET或POST)请求中的url地址的编码(encode)和解码(decode) python3中的urlopen对于中文url是如何处理的? 中文URL的编码问题 ...

  7. sed处理url编码解码=== web日志的url处理

    URL 编码/解码方法(linux  shell实现),方法如下: 1.编码的两种方法: admin@~ 11:14:29>echo '手机' | tr -d '\n' | xxd -plain ...

  8. ASP.NET中Url编码解码

    今天遇到Url编码解码的问题,纠结了一天的时间,结果上网一查才发现太二了我们. 同事写的代码把url用HttpUtility.UrlEncode编码和解码了,本地测试没有问题,部署到服务器上就提示转码 ...

  9. 用jq编码解码一个url地址

    介绍一下编码解码函数对 1.    escape /unescape   主要用于汉字编码,返回字符的unicode编码值, 对“+”不能编码 2.     encodeURI / decodeURI ...

  10. JS对URL字符串进行编码/解码分析

    一.为什么要进行js编码和解码? 只有字母和数字[0-9a-zA-Z].一些特殊符号“$-_.+!*'(),”[不包括双引号].以及某些保留字,才可以不经过编码直接用于URL. 出现的情况: 网址路径 ...

随机推荐

  1. windows下rust环境的安装(现在是2023年5月份)

    在自己家电脑上安装一下rust,还是遇到一些问题,这里记录一下,免得后面再踩坑. 官方网站 获取主要信息还得靠官网,比如安装软件:) 地址是 https://www.rust-lang.org/zh- ...

  2. Java全局唯一ID生成策略

    在分布式系统中常会需要生成系统唯一ID,生成ID有很多方法,根据不同的生成策略,以满足不同的场景.需求以及性能要求. 1.数据库自增序列 这是最常见的一种方式,利用DB来生成全库唯一ID. 优点: 此 ...

  3. Mybatis面试题及答案

    Ibatis和Mybatis? Ibatis:2010年,apache的Ibatis框架停止更新,并移交给了google团队,同时更名为MyBatis.从2010年后Ibatis在没更新过,彻底变成了 ...

  4. git分支学习笔记2-解决合并的冲突

    来源:https://www.liuhaolin.com/git/115.html git中合并冲突是在不同的分支中同一个文件的内容不同导致的,如果进行合并就会冲突.文件可能是新增的文件,比如在两个分 ...

  5. [oeasy]python0072_自定义小动物变色_cowsay_color_boxes_asciiart

    修改颜色 回忆上次内容 上次搞的是 颜色 前景颜色 总共有 7 种基本色 还有什么 好玩的 么? 可以 给小动物 上色 吗? 配合 先将cowsay结果 输出重定向 sudo apt install ...

  6. CF1951

    A link 这个题就是讨论. 首先,如果没有\(1\)就一定可以. 如果有\(1\). 如果长度为\(2\)一定不行. \(1\)的个数为奇数不行. 如果为偶数 有一个小点:如果是\(2\)个\(1 ...

  7. 概括下为什么要用vue开发

    很多老程序员,习惯了使用原生html和js来开发前端页面,对于很多没用过vue的程序员来说,觉得没有必要. 下面,我来概括下vue的一些好处: 1.控件自动跟数据绑定,提交表单到后台的时候,可以直接使 ...

  8. 测试开发jmeter设置线程序号

    测试开发jmeter设置线程序号 ${__threadNum} 需要在请求的名称后面加上${__threadNum} 然后运行结果如下:

  9. Gymnasium 环境搭建

    [默认在链接公网环境]!!!! 一.      Conda虚拟环境搭建[安装则忽略] 1.1 检查本地适配python版本 >python -V 1.2根据版本下载并安装aconda[这里默认使 ...

  10. 【Vue2】Component 组件

    Main.JS入口函数,Vue的用法 //导入vue模块,得到Vue构造函数 import Vue from 'vue' // 导入根组件App.vue import App from './App. ...