CTF 字符统计1
题目地址:http://sec.hdu.edu.cn/question/web/1047/
题目如下:

给你2秒钟的时间,告诉我下面这坨字符中有多少个s,多少个e,多少个c,多少个l,多少个a和多少个b, 把这些数字串成一个字符串提交一下。只能用脚本来完成了。
看一下题目的源代码:

写出对应的python脚本:
# coding=UTF-8
import urllib,urllib2,requests
from bs4 import BeautifulSoup
url = "http://sec.hdu.edu.cn/question/web/1047/"
head_info={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0',
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language':'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
'Accept-Encoding':'gzip, deflate',
'Cookie':'JSESSIONID=FA2540037BC70E131CC2837234D92EAD',
'Connection':'keep-alive',
'Cache-Control':'max-age=0',
} r=requests.get(url,headers=head_info).content
soup=BeautifulSoup(r,'lxml')
str=soup.findAll("pre")
a=str[0].contents
Unicode2str=a[0].encode("utf-8")
ln=len(Unicode2str) s=0
e=0
c=0
l=0
a=0
b=0
for i in range(ln):
if (Unicode2str[i] == 's' ):
s=s+1
elif (Unicode2str[i]== 'e' ):
e=e+1
elif (Unicode2str[i] == 'c' ):
c=c+1
elif (Unicode2str[i]== 'l' ):
l=l+1
elif (Unicode2str[i] == 'a' ):
a=a+1
elif (Unicode2str[i]=='b'):
b=b+1
else:
continue value='%d' %s +'%d' %e +'%d' %c +'%d' %l +'%d' %a +'%d' %b getdata={'ans':value}
gdata=urllib.urlencode(getdata)
url2=url+'?'+gdata
print url2
r = requests.get(url2,headers=head_info).content
print r
运行,得到flag。

CTF 字符统计1的更多相关文章
- CTF 字符统计2
题目地址:http://sec.hdu.edu.cn/question/web/1076/ 这一题跟上一篇那题有点相似,查看一下源代码: 发现字符产所处的HTML标签变了,还有就是上一题是get请求, ...
- ytu 1910:字符统计(水题)
字符统计 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 421 Solved: 92[Submit][Status][Web Board] Descri ...
- PAT-乙级-1042. 字符统计(20)
1042. 字符统计(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 请编写程序,找出一段给定文字中出现最 ...
- PAT 乙级 1042 字符统计(20) C++版
1042. 字符统计(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 请编写程序,找出一段给定文字中出现最 ...
- PAT 1042 字符统计(20)(思路)
1042 字符统计(20)(20 分) 请编写程序,找出一段给定文字中出现最频繁的那个英文字母. 输入格式: 输入在一行中给出一个长度不超过1000的字符串.字符串由ASCII码表中任意可见字符及空格 ...
- 【算法笔记】B1042 字符统计
1042 字符统计 (20 分) 请编写程序,找出一段给定文字中出现最频繁的那个英文字母. 输入格式: 输入在一行中给出一个长度不超过 1000 的字符串.字符串由 ASCII 码表中任意可见字符及空 ...
- 3218: 字符串字符统计—C语言
3218: 字符串字符统计—C语言 时间限制: 1 Sec 内存限制: 128 MB提交: 270 解决: 129[提交][状态][讨论版][命题人:smallgyy] 题目描述 编写一函数,由实 ...
- PAT(B) 1042 字符统计(Java)字符串 正则表达式 统计
题目链接:1042 字符统计 (20 point(s)) 题目描述 请编写程序,找出一段给定文字中出现最频繁的那个英文字母. 输入格式 输入在一行中给出一个长度不超过 1000 的字符串.字符串由 A ...
- P1042 字符统计
P1042 字符统计 转跳点:
随机推荐
- Asp.net缓存技术(HttpRuntime.Cache)
一.缓存: 5个等级的缓存 1级是网络级缓存,缓存在浏览器,CDN以及代理服务器中 (举个例子:每个帮助页面都进行了缓存,访问一个页面的代码非常简单) 2级是由.net框架 HttpRuntime ...
- 基于Asp.Net Core Mvc和EntityFramework Core 的实战入门教程系列-4
来个目录吧: 第一章-入门 第二章- Entity Framework Core Nuget包管理 第三章-创建.修改.删除.查询 第四章-排序.过滤.分页.分组 第五章-迁移,EF Core 的co ...
- Springboot启动源码详解
我们开发任何一个Spring Boot项目,都会用到如下的启动类 @SpringBootApplication public class Application { public static voi ...
- 大数据系列之Hadoop分布式集群部署
本节目的:搭建Hadoop分布式集群环境 环境准备 LZ用OS X系统 ,安装两台Linux虚拟机,Linux系统用的是CentOS6.5:Master Ip:10.211.55.3 ,Slave ...
- abstract和interface的区别
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力. abstract class和inte ...
- Scrapy 初体验
开发笔记 Scrapy 初体验 scrapy startproject project_name 创建工程 scrapy genspider -t basic spider_name website. ...
- redux-form的学习笔记
redux是一种常用的与react框架搭配的一种数据流架构,而伴随着redux的出现,也出现了许多基于redux开源的第三方库,而redux-form就是其中之一的开源组件库,到今天我写下这篇笔记为止 ...
- 【转】Objective-C Runtime
之前在找Runtime资料,这篇条理是相对比较清晰,对我最有启发的一篇,转载以作记录. 对于iOS小白,值得多看几遍,会有不少收获. --------------------------------- ...
- 在vs中打开cuda工程
以往都是在linux环境下使用cuda,编写cuda程序,因为一篇论文的源码要求用win系统+vs,首次在vs中打开.编译cuda工程,遇到一些阻碍,特此记录. 我的计算机环境是win10,cuda7 ...
- CSS中清除浮动的方法
CSS浮动,最早是为了达到文字环绕的效果提出的,也可以用来做布局,但是布局会产生很多问题(高度塌陷,漂浮在普通流上),会使当前标签产生上浮的效果,会影响前后标签,同样的代码在不同的浏览器的兼容性也不一 ...