Python正则表达式和requests爬虫

Some people,when confronted with a problem,think,”I know,I’ll use regular expressions.”Now they have two problems.

----Jamie Zawinski

正则表达式

正则表达式是可匹配文本片段的模式。最简单的正则表达式为普通字符串,与自己匹配。python模块re提供了其对正则表达式的支持。

requests模块

Requests是用Python语言编写,基于urllib,采用Apache2Licensed开源协议的HTTP库,是一个需要单独安装的第三方库。通过pip执行指令:

1
pip install requests


来安装requests模块。py3版本安装时自带pip。如果报错,可能需要对pip进行更新,执行:

1
python -m pip install -U pip


来对pip安装更新,需要注意的是这里需要将python添加进环境变量才可以执行。这样就完成requests模块的安装。

Read More

海龟绘图法(Python)

这里是python中的一个绘图模块:海龟绘图(turtle)。此模块可以让操作者绘制图形,而非打印文本。
其他命令参考:https://docs.python.org/3/library/turtle.html
绘图方法:参考搜索turtle graphis

最简单的示例:

import turtle
t=turtle.Pen()
t.reset()
for x in range(100):
t.forward(x)
t.left(90)
效果图:

这里需要注意的是,存储文件时文件名称不能以turtle命名,否则解释器将会报错。

之后可以尝试结合随机函数和随机语句来绘制较为复杂的图形:

import turtle as t
from random import randint
t.TurtleScreen._RUNNING = True #使程序于IDLE中顺利运行
t.speed(0) #速度最快
t.bgcolor(“black”) #背景色为黑色
t.setpos(-25, 25) #起始位置
t.colormode(255) #颜色模式为真彩色
i = 0 #赋哑值
for a in range(0,200): #绘制花瓣
r = randint(0, 255)
g = randint(0, 255)
b = randint(0, 255)
t.pencolor(r, g, b)
t.forward(50 + i)
t.right(85)
t.forward(i)
t.left(30)
i += 1
t.left(90) #绘制花杆
t.pensize(width=10)
t.pencolor(“green”)
t.speed(10)
t.forward(250)
t.done()
效果图:

可以进一步来设计一个小游戏:

import turtle as t
from random import randint

t.TurtleScreen._RUNNING = True
t.setup(width=750, height=350, startx=None, starty=None) #界面大小设置
t.hideturtle() #隐藏海龟画笔
t.color(“orange”)
t.penup()
t.setpos(0, 0)
myfont = (“隶书”, 16, “normal”) #设置字体
target = randint(1, 100)
t.write(“一个1到100之间的整数,猜猜看:”, font=myfont)
guess = 0
while target!=guess in range(0,100):
guess = t.simpledialog.askinteger(“猜数游戏”, “请输入一个整数:”)
if guess == target:
answer = “Congratulations!”
t.bgcolor(“black”)
elif not guess:
t.clear()
t.write(“Give Up,Game Over.”, font=myfont)
break
elif guess > target:
answer = “你猜大了,再猜一次:”
else:
answer = “你猜小了,再猜一次:”
t.clear()
t.write(answer, font=myfont)
t.done()
初始界面:

胜利界面:

放弃界面:

一些.vbs脚本文件(自娱自乐向)

.vbs

我记得初识basic语言好像要回溯到2014年以前,初中时代,当时考试的重心主要是放在读程序逻辑上,几个语句,像loop…until至今印象深刻。
记录几个简单的.vbs脚本,计算机可以直接执行。

1.

消息框招呼脚本

记事本编写’msgbox “Hello,9.9”‘,将文件后缀.txt修改为.vbs即可,双击运行后弹出消息框,可以将此脚本设置为开机启动,恩,硬核自己给自己打个招呼来自娱自乐。
(另,在室友电脑编写后首末添加do/loop可以让程序进入死循环,讯息内容可以随意发挥,控制台关闭程序即可)
一些.vbs脚本文件(自娱自乐向)

2.

语音脚本

同样的,在记事本编写’CreateObject(“SAPI.SpVoice”).Speak “Hello,9.9”‘,调整扩展名为.vbs,运行后得到系统语言提示。同样的,可以将其设置为开机启动,配合消息框食用效果更佳(假装是电脑给自己打招呼)。

3.

无限刷新:

1
2
3
4
set ws=createobject("wscript.shell")
do
ws.sendkeys"{f5}"
loop

无限Alt+f4

1
2
3
4
5
6
dim WSHshell
set WSHshell=wscript.createobject("wscript.shell")
do
wscript.sleep 2000
WSHshell.SendKeys"%{f4}"
loop

QQ消息自动发送

1
2
3
4
5
6
7
8
9
10
11
On Error Resume Next 
Dim fd,ye
set fd=createobject("wscript.shell")
for i=1 to 10 //循环次数
wscript.sleep 100 //循环间隔,越大越慢
fd.AppActivate("Name") //发送对象的昵称
fd.sendKeys "^v" //打印复制的内容
fd.sendKeys i
fd.sendKeys "%s"
next
wscript.quit

(注:以上脚本慎用,玩笑适可而止。)

添加插曲

来自伟大的360爸爸发出的木马警告(我日我自己lol)
一些.vbs脚本文件(自娱自乐向)
一些.vbs脚本文件(自娱自乐向)
一些.vbs脚本文件(自娱自乐向)

2018年上实训记录

(持续更新ing…)

Day1.

所谓实训的大目标只有一个俄罗斯方块的设计,工具为Codeblocks。
实际上挺无聊,上午上机的环境之前都有配置过,简单调试了下,坑爹的是不知情的情况下安装了什么伽卡他卡我卡大家卡的流氓学生端课堂工具(已灭口,下图1附加方法)。下午随进度写了几行代码,仅仅调整了光标以及颜色等的设置,然后就(结束了??)emmmmm,GG,懵逼中水掉一天,还是顺带学些其他的玩意吧XD。
不多吐槽,这玩意虽然常见,代码千千万万但到自己手里毕竟也是第一次做,踏实些。


Read More

ISCC2018的部分WP

(持续更新…)

1.


要求输入比服务器上大的数字,随便输入几个9,发现最多只能输入三位数,直接F12找到maxlength=3将3修改为4再随意填入一个四位数即可。

2.

打开地址后是一份PHP代码:

由代码读出需要使strcmp函数值为0,应该是要构造出长度相等的数组。构造payload,在连接后添入/?password[]=a,返回flag。

3.


用Burpsuite抓包,GO一次后得到提示在Request添加X-Forwarded-For:127.0.0.1即可。

Read More

关于QQ坦白说JSON源破解对方身份的方法

这个问题在4月2日晚上七点左右已经被修复,存在时间不长。随着被修复的问题还有很多,墨水不多,这里不多说。
首先通过https://ti.qq.com/cgi-node/honest-say/receive/mine ,可以打开自己的坦白说JSON源,然后发现EncodeUin后的加密代码,如图:

有大佬破解出了:

对照解码后便可以得到发送者的QQ号码……恩 ,很可怕。
当然问题很严重,修复也很快,现在只能被开发者调侃。怎么说呢,就当愚人节菜单吧,在匿名的世界里皮一下也得适当一些233。

CTF-Tests(3)

1.

2018年0ctf签到题

根据提示要求加入freenode网站的IRC(Internet Relay Chat)0ctf2018聊天室来获取flag。初次进入chat.freenode.net,网页没有反应,推测端口问题或者是网络节点问题。之后我在进入freenode.net后,按照说明使用了6667~6669的端口,均不能成功,于是打开手机VPN,等待之后成功进入聊天页面,输入给定的#0ctf2018进入聊天室,得到flag。

Read More

CTF-Tests(2)

仍然是5道普通的CTF。

1.


页面会不断弹出”FLAG就在这里”、”来找找吧”这样的信息。在强行关闭弹窗后,审查元素,得到如下的编码,弄清后在网站[http://tool.chinaz.com/tools/urlencode.aspx] Unicode解码得到FLAG。

2.


根据提示打开源代码,找到之后同样按照提示进行解码后便得到FLAG。

3.


了解到同样是一个编码后,根据提示JSFuck(呃…)解码,会得到FLAG。

4.



题目叫头等舱,而打开后提示什么都没有,审查元素以及查看源后无果,用Burpsuite抓包,得到Flag。

5.


只有这些内容,尝试从语法入手后添加链接,回车后会得到FLAG。

CTF-Tests

Burpsuite、IDA、OD等工具安装完成后,我开始尝试在百度等教程下去做简单的CTF。这里是5个简单的例子。

1.


第一个是叫hello的程序,使用OD打开后,利用搜索功能查找字符串,直接得到了key:WelcomeToKanXueCtf2017,输入,完成。

2.


这是一个关于网页验证码的问题,很简单的两位数相加求和,但尝试输入时发现了问题所在:只能输入一个字符。F12开启审查元素,找到maxlength=”1”,很明显问题出在这里,在1后面加上两个0之后,输入结果,得到Flag。

3.


宽带信息泄露,好厉害的样子,下一个…Ummmmm,找到.bin的文件,用RouterPassView工具打开它,然后得到username,也就是提示的Flag,输入通过。

4.


审题名字叫做停不下来…恩确实停不下来,页面不断自动有规律的刷新,刷出不同的结果,打开Burpsuite,放进Repeater之后开始按照题目刷新的规律多次发送访问包,得到了Flag。

5.

要求提交一个.php文件,我在Wamp里拿出之前的HelloWorld,提交进去之后提示不是图片文件,emmmm,将后缀改为.png,再次提交时丢进BurpSuite,在其中再将.png改作.php后,上传至Repeater得到Flag。



ps,实际上尝试去解这些CTF时,基本每一道题都会在审查元素里无获后,尝试各种工具,遇到各种障碍以及看不懂的情况,懵逼良久。也有很多题目完成一部分后开始一知半解,始终得不到Flag,想解出某些密码,在审查元素中找到一些线索后却不能开展下去。时间很短,路还很长。


Powered by Hexo and Hexo-theme-hiker

Copyright © 2017 - 2025 青域 All Rights Reserved.

UV : | PV :