晨曦远的博客

诗酒趁年华


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

  • 搜索

正则爬妹子图

发表于 2019-07-09 | 更新于: 2019-07-09 | 分类于 python学习笔记 | 阅读次数: |
字数统计: 428 字 | 阅读时长 ≈ 2 分钟

直接上代码吧,之前看了多线程,在这种io密集型情况下使用多线程效率会大大提高,但我写的时候就报错了,再研究一段时间再添加多线程吧。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import requests
import os
import re



dirs="D:/妹子图"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.4094.1 Safari/537.36'}
def mkdir(): #创建文件夹
if not os.path.exists(dirs):
os.mkdir('D:/妹子图')
os.chdir('D:/妹子图')
print("D:/妹子图")
return True
else:
print("妹子图文件夹已存在")
return False

def get_max_page():#获取到最大的页面数
url="https://www.mzitu.com/zipai/"
r = requests.get(url,headers=headers)
result=re.findall("<span aria-current='page' class='page-numbers current'>(.*?)</span>",r.text,re.S)
return result[0]


def find_onepage_imgs(url):#匹配到一个页面里所有的图片地址以及上传时间
r=requests.get(url,headers=headers)
result=re.findall('<div class="comment-meta commentmetadata"><a href=".*?">(.*?)</a>.*?</div>.*?<p><img class="lazy".*?data-original="(.*?)".*?</p>',r.text,re.S)
return result
def download_onepage(onepage_list):
for j in onepage_list:
global a
path0=j[0].split()
path=path0[0][0:4]+path[0][5:7]+path[0][8:10]+path[1]+path[2][0:2]+path[2][3:5]#把上传时间切片后作为文件名
img=requests.get(j[1])
if os.path.exists(path+".jpg"):#因为上传时间可能相同,所以判断一下,如果相同就a+1
a=a+1
path=path+str(a)
with open(path+".jpg", 'wb+') as f:
print("下载第"+str(i)+"页提交于"+path0+"的图片")
f.write(img.content)
else:
a=1
with open(path+".jpg", 'wb+') as f:
print("下载第"+str(i)+"页提交于"+path0+"的图片")
f.write(img.content)


a=1
if __name__== '__main__':
mkdir()
max_page=get_max_page()
for i in range(int(max_page),1,-1):
onepage_list=find_onepage_imgs("http://www.mzitu.com/zipai/comment-page-"+ str(i)+"/#comments" )
download_onepage(onepage_list)

python访问mysql

发表于 2019-07-08 | 更新于: 2019-07-08 | 分类于 python学习笔记 | 阅读次数: |
字数统计: 167 字 | 阅读时长 ≈ 1 分钟

驱动

这里我使用两种驱动,一个是mysql-connector另一个是PyMySQL,两个的语法都差不多,就说说pymysql吧。

阅读全文 »

2019强网杯web Writeup

发表于 2019-05-27 | 更新于: 2019-05-30 | 阅读次数: |
字数统计: 843 字 | 阅读时长 ≈ 4 分钟

0x01随便注

1
2
3
4
5
6
7
8
CREATE DATABASE supersqli;
USE supersqli;
CREATE TABLE `1919810931114514` (`flag` VARCHAR(100) NOT NULL);
INSERT INTO `1919810931114514` (`flag`) VALUES('flag{...............}');
CREATE TABLE `words` (`id` INT NOT NULL,`data` VARCHAR(100) NOT NULL);
INSERT INTO `words` (`id`,`data`) VALUES(1,'Only red tea');
INSERT INTO `words` (`id`,`data`) VALUES(2,'I have a big planet');
INSERT INTO `words` (`id`,`data`) VALUES(114514,'come on baby!');
阅读全文 »

iscc2019 web wp

发表于 2019-05-22 | 更新于: 2019-07-21 | 分类于 web安全学习笔记 | 阅读次数: |
字数统计: 502 字 | 阅读时长 ≈ 2 分钟

web1

这个涨姿势,chr()函数是模256,在原数加256即可绕过,intval可以用科学计数法绕过,payload如下

1
password=2e5&value[]=375&value[]=307&value[]=364&value[]=355&value[]=304&value[]=365&value[]=357&value[]=351&value[]=340&value[]=367&value[]=351&value[]=329&value[]=339&value[]=323&value[]=323&value[]=306&value[]=304&value[]=305&value[]=313

web2

这题拿到了一血,因为我一发入魂,直接猜到996,果然ctf需要一点脑洞(联系到之前的996事件)。
可以用burp,删除cookie和user_code就能暴力破解过验证码了。

web3

这题是sql-libs原题,二次注入。

web4

parse_str()把查询字符串解析到变量中,存在变量覆盖,payload如下

1
action=auth&key=1&hashed_key=6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b

阅读全文 »

诗

发表于 2019-05-21 | 更新于: 2019-05-28 | 分类于 随笔 | 阅读次数: |
字数统计: 321 字 | 阅读时长 ≈ 1 分钟

这个学期上了李雷老师的诗词写作与鉴赏任选课,总归是有收获的。贴出来几首自己感觉还行的诗。

鹳雀楼

雄伟镇中州,三朝暗淡收。
而今强复起,屹立更千秋。

阅读全文 »

c++多态性

发表于 2019-05-13 | 更新于: 2019-05-13 | 阅读次数: |
字数统计: 1.4k 字 | 阅读时长 ≈ 7 分钟

南邮关于c++多态性的上机题,写的时候还是遇到了很多问题的。

1

定义复数类Complex,有实部、虚部两个私有成员变量,在该类中定义多个重载的构造函数、定义析构函数和输出函数print,复数的输出形如12-3i,在类中重载+、−、*、/、++(分前++和后++)。在主函数(直接用实验教材P210代码)中定义复数类的对象,实现复数的各种算术运算,通过重载实现静态多态性。

阅读全文 »

简单的代码审计

发表于 2019-04-25 | 更新于: 2019-07-13 | 分类于 web安全学习笔记 | 阅读次数: |
字数统计: 1.2k 字 | 阅读时长 ≈ 5 分钟

bugku里一些简单的代码审计题

extract变量覆盖

http://123.206.87.240:9009/1.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$flag='xxx';
extract($_GET);
if(isset($shiyan))
{
$content=trim(file_get_contents($flag));
if($shiyan==$content)
{
echo'flag{xxx}';
}
else
{
echo'Oh.no';
}
}
?>

首先extract函数用来将变量从数组中导入到当前的符号表中。这里要让$shiyan==$content,那么只要给$flag和$shiyan变量同时传入空值即可。

1
payload:shiyan=&flag=
阅读全文 »

kali安装docker

发表于 2019-04-19 | 更新于: 2019-07-18 | 分类于 kali | 阅读次数: |
字数统计: 114 字 | 阅读时长 ≈ 1 分钟

第一步

1
2
3
4
5
6

apt-get update

apt-get install -y apt-transport-https ca-certificates

apt-get install dirmngr

第二步

1
2
3
4
5
6

apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D



echo 'deb https://apt.dockerproject.org/repo debian-stretch main' > /etc/apt/sources.list.d/docker.list

第三步

1
2
3
4

apt-get update

apt-get install docker-engine

使用aliyun镜像

我之前下载速度就像一滴一滴,还经常断掉,使用了阿里云镜像后,就像水管一样,一下就好了。阿里云镜像加速器

1…3456
晨曦远

晨曦远

46 日志
8 分类
23 标签
RSS
GitHub 知乎 微信 QQ
友情链接
  • 关校花的博客
  • 张嘉学长的博客
  • 郁离歌
  • 皮三宝

0%
© 2018 — 2019 晨曦远 | Site words total count: 46k
本站访客数: