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 字符统计 转跳点:
随机推荐
- 数据的增删改查(三层)<!--待补充-->
进行数据操作必然少了对数据的增删改查,用代码生成器生成的代码不是那么满意!方便在今后使用,这里就主要写“数据访问层(Dal)” 既然这里提到三层架构:有必要将三层内容在这里详细介绍一下(待补充) 注: ...
- JAVA基础:自己构造一个按递增排列的数组,用户输入一个数,插入适当位置
- html to pdf
C++ Library to Convert HTML to PDF html2pdf PrinceXML 收费 CutePDF Ghostscript PDFDoc VisPDF PDFDoc Sc ...
- 4063: [Cerc2012]Darts
4063: [Cerc2012]Darts Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 85 Solved: 53[Submit][Status] ...
- Python3处理配置文件
1.说明:python3使用configparser模块来处理ini配置文件.2.代码示例:需要生成conf.ini配置文件如下:[config]v1 = 100v2 = abcv3 = truev4 ...
- R处理大数据集
R会把所有的对象读存入虚拟内存中.对我们大多数用户来说,这种设计可以提高与R相互的速度,但是当分析大数据集时,这种设计会降低程序运行速度有时还会产生跟内存相关的错误. 内存限制主要取决于R的build ...
- 【Troubleshooting Case】Unable to delete Exchange database?
在我们日常邮件系统运维管理或实施部署变更中,经常会遇到,删除Exchange 数据库DB时,提示无法删除. ------------------– Microsoft Exchange Error - ...
- Linux块设备驱动(一) _驱动模型
块设备是Linux三大设备之一,其驱动模型主要针对磁盘,Flash等存储类设备,本文以3.14为蓝本,探讨内核中的块设备驱动模型 框架 下图是Linux中的块设备模型示意图,应用层程序有两种方式访问一 ...
- Android Weekly Notes Issue #249
Android Weekly Issue #249 March 19th, 2017 Android Weekly Issue #249 本期内容包括: 一个设计的实现Demo讨论; Kotlin的C ...
- (转)shell:读取文件的每一行内容并输出
写法一:----------------------------------------------------------------------------#!/bin/bashwhile rea ...