0%

思路

获取到cookie后转化为dictionary(使用requests.utils.dict_from_cookiejar方法转化CookieJar为dictionary),再以字符串形式保存到文件
读取时把字符串转换为字典(json.load方法),再设置为requests请求的cookies

注意

这里有个坑,保存到文件时是单引号,使用json读取时需要双引号,所以需要replace一下

代码

保存

1
2
3
4
5
6
#转换为dictionary
load_cookies = requests.utils.dict_from_cookiejar(res.cookies)
#转换为字符串保存到文件
fo = open("cookie", "w")
fo.write(str(load_cookies))
fo.close()

读取

1
2
3
4
##读取文件内容到text变量后
#转换为dictionary
dic = json.loads(text.replace("'","\""))
res = requests.post(url,cookies=dic)

参考

Python——Cookie保存到本地

概述

服务器恢复快照以后,一大堆东西都要重新安装。
安装PyCrypto时发生错误,提示
Python.h: No such file or directory
于是 首先执行 yum upgrade,升级下试试
然而还是编译错误,所以肯定是没有安装依赖

解决方案

查了一下是没安装开发环境(然而之前好像是可以直接编译的。。)
python-devel已安装,然而搜不到python3-devel
于是搜索python3,找到了python36u-devel
yum install python36u-devel
安装后编译成功

参考

Centos7 “fatal error: Python.h: No such file or directory “commmand ‘gcc’ failed with exit status 1

摘要

由于截图后手动上传到COS比较麻烦,而ShareX(一个截图工具)支持SFTP上传到服务器
于是决定在服务器上配置腾讯云COS同步方案,然后就可以愉快地截图后上传图片了

流程

在腾讯云的对象存储(COS)配置好密钥以后,在服务器上配置同步方案
(建议设置一个用户组给予COS读写权限)

操作

安装依赖

1
sudo yum install automake gcc-c++ git libcurl-devel libxml2-devel fuse-devel make openssl-devel

安装cosfs

1
2
3
4
5
6
git clone https://github.com/tencentyun/cosfs-v4.2.1 /usr/cosfs
cd /usr/cosfs
./autogen.sh
./configure
make
sudo make install

修改配置文件(格式为bucket_name-bucket_appid:secretId:secredKey)

1
2
echo xhy-1252675344:AKIDXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXX > /etc/passwd-cosfs
chmod 640 /etc/passwd-cosfs

挂载(以挂载到/usr/upload/为例)

格式为cosfs bucket_appid:bucket_name 挂载目录 -ourl=对象储存url -odbglevel=info
例如:

1
cosfs 1252675344:xhy /usr/upload/ -ourl=xhy-1252675344.cos.ap-beijing.myqcloud.com -odbglevel=info

卸载

1
2
3
fusermount -u /u01/docker/kenny_hexo/public
或者
umount -l /u01/docker/kenny_hexo/public

参考

ImgURL配合腾讯云COS(对象存储)搭建个人图床

流程

将以下代码放到主题源文件目录下,如 /themes/yilia/source/js/ 下新建文件 click-word.js,代码见下文。
下载jquery文件(目前最新版本),放到同一目录下(个人喜好)。
修改布局文件,/themes/next/layout/_layout.ejs,在末尾body中添加

1
2
3
<!-- 页面点击特效 -->
<script type="text/javascript" src="/js/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="/js/click-word.js"></script>

保存后重新生成即可

js代码

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
var a_idx = 0;
jQuery(document).ready(function($) {
$("body").click(function(e) {
var a = new Array("富强", "民主", "文明", "和谐", "自由", "平等", "公正" ,"法治", "爱国", "敬业", "诚信", "友善");
var $i = $("<span />").text(a[a_idx]);
a_idx = (a_idx + 1) % a.length;
var x = e.pageX,
y = e.pageY;
$i.css({
"z-index": 999999999999999999999999999999999999999999999999999999999999999999999,
"top": y - 20,
"left": x,
"position": "absolute",
"font-weight": "bold",
"color": "#ff6651"
});
$("body").append($i);
$i.animate({
"top": y - 180,
"opacity": 0
},
1500,
function() {
$i.remove();
});
});
});

参考

jquery”富强、民主、文明、和谐”特效代码
Hexo NexT主题添加点击爱心效果

原理

把库克隆到本地后,创建新分支,删除原master分支后,将临时分支更名
在库目录下执行以下代码

代码

1
2
3
4
5
6
git checkout --orphan tmp
git add -A
git commit -m "clean project"
git branch -D master
git branch -m master
git push -f origin master

参考

Gitlab删除历史commit清理空间

问题


在函数中F5失败,提示堆栈指针为正数,故需要修复堆栈平衡

解决方案

去设置中打开堆栈指针(Stack pointer)显示(也就是sp)

按G定位到4012B9,发现return时的指针是-10(hex)

找到最接近的call(401295),在该行修改sp值(按alt+K或者右键修改),设置偏移值为-0x10
(目的就是使return前的sp为0)

修复后:

然后就可以愉快地F5了

参考

IDA sp-analysis failed 不能F5的 解决方案之(二)
IDA sp-analysis failed 不能F5的 解决方案之(一)

Web - Code Check(湖湘杯)

源码分析

从get请求id参数中解密出正确id,然后执行sql查询语句,将查询结果返回到数组
decode函数:
将传入的data(也就是get方法的id参数)解2次base64后
使用aes-128位 CBC模式 填充为ZeroPadding 解密,key为ydhaqPQnexoaDuW3 iv为2018201920202021
检测解密后的数据后7位是否为hxb2018
如果不是则输出<script>window.location.href="/index.php";</script>
也就是js跳转到/index.php
否则,返回去除首尾空格以及末尾hxb2018后的明文数据

阅读全文 »