django遇到的编码和代码高亮问题

发表于 2018-09-05   |   分类于 Python

django乱码问题

1.数据上传默认采用的是unicode编码
2.与settings.py中的LANGUAGE_CODE无关
3.在model中添加#coding:utf-8
4.mysql创建数据库时没有使用utf8编码

新建数据库

CREATE DATABASE blogs(dbname) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

修改字符集编码

ALTER DATABASE blog(dbname) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;




unicode指的是万国码,是一种“字码表”。而utf-8是这种字码表储存的编码方法。unicode不一定要由utf-8这种方式编成bytecode储存,也可以使用utf-16,utf-7等其他方式。目前大多都以utf-8的方式来变成bytecode。

其次,Python中字符串类型分为byte string 和 unicode string两种。

如果在python文件中指定编码方式为utf-8(#coding=utf-8),那么所有带中文的字符串都会被认为是utf-8编码的byte string(例如:mystr="你好"),但是在函数中所产生的字符串则被认为是unicode string。



此内容被密码保护

发表于 2018-09-05   |   分类于 CTF

请输入密码访问

xsser.me 平台搭建

发表于 2017-12-08   |   分类于 Web , Linux

之前使用xsstv现在因未知原因关掉了,所以自己在这搭建一个,自己使用。
Ps:很早之前就下载了,太懒一直没搭建

环境

系统:ubuntu(其他linux都可以)
lamp或者lnmp搭建,网上很多教程:
lamp:http://www.venenof.com/index.php/archives/18/
lnmp:https://www.mtyun.com/library/how-to-install-lnmp-on-ubuntu





阅读全文 »

Linux Screen 用法

发表于 2017-12-07   |   分类于 CTF , Linux

Screen被称之为一个全屏窗口管理器,用他可以轻松在一个物理终端上获得多个虚拟终端的效果。
Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器,这意味着你能够使用一个单一的终端窗口运行多终端的应用。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。
其实,我更推荐tmux但是很多在局域网的linux可能没有安装它,所以在这首先介绍screen的用法。



阅读全文 »

Linux Touch修改文件时间

发表于 2017-11-20   |   分类于 CTF , Linux

利用touch修改文件时间戳

查看文件时间

wen@ubuntu:/var/www/html/mysqltest$ stat a.txt
  File: ‘a.txt’
  Size: 0             Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d    Inode: 568149      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/     wen)   Gid: ( 1000/     wen)
Access: 2017-11-14 22:34:00.000000000 -0800
Modify: 2017-12-04 22:22:22.000000000 -0800
Change: 2017-12-04 22:34:05.406082889 -0800
 Birth: -
wen@ubuntu:/var/www/html/mysqltest$ 

修改单个文本

touch -c -m -t 201101110000 teadme.txt  (2011.10.11 11:00)
touch -r a.txt b.txt   以a.txt的时间为标准修改两个文件时间戳相同

批量修改

find /var/www/html/mysqltest -exec touch -c -m -t 201712042233 {} \;

获取文件时间

wen@ubuntu:/var/www/html/mysqltest$ stat a.txt | grep -i Modify | awk -F. '{print $1}' | awk '{print $2$3}'| awk -F- '{print $1$2$3}' | awk -F: '{print $1$2$3}' 
output:  20171204222222
wen@ubuntu:/var/www/html/mysqltest$ ll
total 28
drwxrwxrwx  2 mysql mysql 4096 Dec  4 21:38 ./
drwxrwxrwx 15 root  root  4096 Dec  4 17:16 ../
-rw-rw-r--  1 wen   wen      0 Dec 11  2017 a.txt
-rwxrwxrwx  1 root  root   115 Dec  4 20:06 peizhiwebshell2.php*
-rwxrwxrwx  1 root  root   115 Dec  4 20:06 peizhiwebshell2.php~*
-rwxrwxrwx  1 root  root   247 Dec  4 21:35 peizhiwebshell.php*
-rwxrwxrwx  1 root  root   248 Dec  4 21:35 peizhiwebshell.php~*
-rw-rw-r--  1 wen   wen     27 Dec  4 21:38 shell.php
wen@ubuntu:/var/www/html/mysqltest$ touch -c -m -t 201712112135 a.txt
wen@ubuntu:/var/www/html/mysqltest$ touch -c -m -t 20171211213521 a.txt
touch: invalid date format ‘20171211213521’
wen@ubuntu:/var/www/html/mysqltest$ touch -c -m -t 201712112135.21 a.txt
wen@ubuntu:/var/www/html/mysqltest$ ll
total 28
drwxrwxrwx  2 mysql mysql 4096 Dec  4 21:38 ./
drwxrwxrwx 15 root  root  4096 Dec  4 17:16 ../
-rw-rw-r--  1 wen   wen      0 Dec 11  2017 a.txt
-rwxrwxrwx  1 root  root   115 Dec  4 20:06 peizhiwebshell2.php*
-rwxrwxrwx  1 root  root   115 Dec  4 20:06 peizhiwebshell2.php~*
-rwxrwxrwx  1 root  root   247 Dec  4 21:35 peizhiwebshell.php*
-rwxrwxrwx  1 root  root   248 Dec  4 21:35 peizhiwebshell.php~*
-rw-rw-r--  1 wen   wen     27 Dec  4 21:38 shell.php
wen@ubuntu:/var/www/html/mysqltest$ 

201712112135.21
格式为YYMMDDhhmmss

注意文件权限问题

touch命令参数

touch [-acdmt] 文件参数:

-a : 仅修改access time。

-c : 仅修改时间,而不建立文件。

-d : 后面可以接日期,也可以使用 –date=”日期或时间”

-m : 仅修改mtime。

-t : 后面可以接时间,格式为 [YYMMDDhhmm]

若拿到别人的shell后,可以进行文件修改,再通过touch来进行时间修改,不仔细看是看不出来的。 :)

© 2017 Powered by Typecho & Theme Quark