python用于web题里写解密脚本
题源自bugku里的WEB3
选择选项让他停止,F12后出现如下代码,一看数字就知道是ASC:

复制出来,写pyhton脚本如下,在编译器里跑一下
s='KEY{J2sa42ahJK-HS11III}'
key=s.split(';')
#py里面所有的变量都是对象,所以用对象的表示形式s.split();
#split这个函数功能是在()内指出的位置添加断点把这个字符串分开成为字符串的列表,那么key:{'K','E','Y' balabala}
flag=''
#提前声明一个没有长度的变量,后面往后接的时候才知道是在字符串类型后面接,用到‘+=’符号的变量都要提前声明变量类型
for i in key:
flag+=chr(int(i[2:]))
#for这句 ”for 临时变量 in 可迭代对象:“ 别忘了加: if和else后面都要加: while后面也要加
#i[2:]是字符串的切片操作,其实含三个变量 i[a:b:c] 其中a是开始的下标(从0开始) b是结束的下标 c是步长(隔几取一个)
#其中a,b如果空白就是默认开始和结束,c不写默认为1就是每个都要
#这里就是截取了所有列表中各元素中的数字,然后把这些字符串里的数字转化成int型的数字,int型数字可以作为asc改变为char型,但要注意函数是chr()而不是char()
print(flag)
#要加括号
第二种脚本:
strs="KEY{J2sa42ahJK-HS11III}"
strs=strs.replace("&#","")
strs=strs.replace(";"," ")
#1,去掉&#和;字符
strs=strs.strip()
#2,去掉头尾多余的空格 不然最后的回车也会形成一个元素
chs = strs.split(" ")
#3,转换为字符串数组 Python提供split()函数可以将一个字符串分裂成多个字符串组成的列表{'K','E','Y'。。。}。
strr=""
for ch in chs:
strr = strr + chr(int(ch))
#4,将ascii码转换为字符,上一种脚本写法是把每个字符串的数字那部分切片拎出来了;这种是直接对字符进行遍历操作了,因为剩下的都是数字字符。
#而py的for语句可以通过一个临时变量来遍历in后面的可迭代对象,很灵活,在这里就是遍历了每一个字符{'75','69',‘89'。。。}
print(strr)
得到flag: KEY{J2sa42ahJK-HS11III}
关于python字符串的更多用法,这俩博客写的很好: https://www.jianshu.com/p/093702933003 https://www.runoob.com/python/python-strings.html
python用于web题里写解密脚本的更多相关文章
- 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情7. 安装 PHP PHP 是用于 web 基础服务的服务器端脚本语言。它也经常被用作通用编程语言。在最小化安装的 CentOS 中安
CentOS 是一个工业标准的 Linux 发行版,是红帽企业版 Linux 的衍生版本.你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级.安装新的软件包.配置特定服务和应用程 ...
- 10个用于Web开发的最好 Python 框架
Python 是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准 库也是值得大家称赞的,Python甚至还 ...
- 第三百节,python操作redis缓存-其他常用操作,用于操作redis里的数据name,不论什么数据类型
python操作redis缓存-其他常用操作,用于操作redis里的数据name,不论什么数据类型 delete(*names)根据删除redis中的任意数据类型 #!/usr/bin/env pyt ...
- Python之Web框架们
Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块. pip i ...
- Python的WEB框架
Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块. ? 1 2 ...
- 《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(上)
目录 前言 第1章 安装 第2章 程序的基本结构 第3章 模板 第4章 Web表单 第5章 数据库 第6章 电子邮件 第7章 大型程序的结构 前言 学习Python也有一个半月时间了,学到现在感觉 ...
- 【Python】 Web开发框架的基本概念与开发的准备工作
Web框架基本概念 现在再来写这篇文章显然有些马后炮的意思.不过正是因为已经学习了Flask框架, 并且未来计划学习更加体系化的Django框架,在学习过程中碰到的很多术语等等,非常有必要通过这样一篇 ...
- 实验吧web题:
实验吧web题: 这个有点简单 因为刚了解sqlmap,所以就拿sqlmap来练练手了 1,先测试该页面是否存在sql注入漏洞 2.找到漏洞页面,复制url,然后打开sqlmap 先查看当前数据库 然 ...
- i春秋CTF web题(1)
之前边看writeup,边做实验吧的web题,多多少少有些收获.但是知识点都已记不清.所以这次借助i春秋这个平台边做题,就当记笔记一样写写writeup(其实都大部分还是借鉴其他人的writeup). ...
随机推荐
- 【原】postman设置环境变量和全局变量
一:设置环境变量 1. postman通过变换环境变量来快速变换环境地址. 2. 现可以将localhost:80信息添加至环境 3. 点击确定后,在首页可看到已添加的环境变量信息及设置的变量信息: ...
- 《Java Spring框架》Spring IOC 源码分析
1.下载源码 源码部署:https://www.cnblogs.com/jssj/p/11631881.html 并不强求,最好是有源码(方便理解和查问题). 2. 创建子项目 Spring项目中创建 ...
- Checked exceptions: Java’s biggest mistake-检查型异常:Java最大的错误(翻译)
原文地址:http://literatejava.com/exceptions/checked-exceptions-javas-biggest-mistake/ 仅供参考,毕竟我四级都没过 Chec ...
- Windows驱动开发-IRP的完成例程
<Windows驱动开发技术详解 >331页, 在将IRP发送给底层驱动或其他驱动之前,可以对IRP设置一个完成例程,一旦底层驱动将IRP完成后,IRP完成例程立刻被处罚,通过设置完成例程 ...
- 《容器化.NET应用架构指南》脑图学习笔记(第一部分)
一.关于这本官方“圣经” 作为.NET程序员,对于微软官方推动的架构示例总是特别关注,从PetShop到MusicStore再到eShopOnContainers,每一次关注,都会了解到业界最新的架构 ...
- C++面试常见问题——04链表的逆序与合并
链表的逆序与合并 链表的逆序 已知一个链表的头指针为head,将该链表逆序. #include<iostream> using namespace std; struct Node{ in ...
- 109、Java中String类之截取部分子字符串
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- 【剑指Offer面试编程题】题目1503:二叉搜索树与双向链表--九度OJ
题目描述: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 输入: 输入可能包含多个测试样例. 对于每个测试案例,输入的第一行为一个 ...
- 常用的HBase命令
进入HBase shell:hbase shell 退出HBase shell:exit 查看HBase中所有的表:list 查看某个表中的记录总数:count 'table name' 查看某个表中 ...
- 关于req.params、req.query、req.body等请求对象
请求对象,通常传递到回调方法,这意味着你可以随意命名,通常命名为 req 或 request . 请求对象中最常用的属性和方法有: req.params 一个数组,包含命名过的路由参数. req.pa ...