Bc13 Ascii艺术

BC13-ASCII艺术

BC13-ASCII艺术

题目:两秒提交由xx拼接的数值。

分析:一开始我想岔了,以为要用到opencv等图形库来判断图形,类似验证码识别。

           方向错了,验证码识别是图形判断。但这个题目里,其实这还是文字么。。。然后看源码。


html:超文本标记语言。$nbsp代表空格的意思,<br />代表换行。

于是我们可以搜集到各个数字对应的源代码。

通过编程,将源代码输出为对应的数字,提交给题目即可。

知识点一:requests模块,post提交参数


url = 'http://ctf5.shiyanbar.com/ppc/acsii.php'

s = requests.Session()

a=s.get(url)

post = {'inputNumber':result}       post是我们要提交的表单参数,result是我们计算出的结果。

r = s.post(url,data=post)             提交结果

print r.content   输出提交后网页内容

知识点二:re.sub()可以将源码替换为相应的数字。python源码1

通过复制源代码,然后在本地建立html文件,用浏览器打开的方式,可以最终建立数字与源码的对应关系。



知识点三:re.findall('\d<br/>','文本')  查找字符串是数字后接换行号的。


知识点四:join函数,将列表元素进行组合。


Str1 = ''.join(result1)     result1是一个序列

print Str1

然后提交就得到了flag。哦,对了,源码