用python编写一些小脚本确实很方便,但是处理数据时会涉及多种数据类型,因此在这里对Python的类型转换做一个整理。

先列举一些比较经常用到的(代码测试均在python2.7环境下):

  • ord(x) 将字符转换成对应的ascii码十进制值

    1
    2
    3
    4
    >>> ord('4')
    52
    >>> ord('a')
    97
  • chr(x) 将十进制ascii码值转换成对应的字符

    1
    2
    >>> chr(65)
    'A'

Read More

昨天在OJ上做CTF的题目,发现有道python的题目很有意思,让我知道了raw_input和input的区别,并且能干一些别的事情。

官方文档上说,input()相当于eval(raw_input())。说明input()本质上还是用raw_input()实现的,不过还调用了eval()来处理输入的数据,意味着input()欢迎任何Python表达式的输入,输入的内容eval()会去执行,所以当输入input()->1+1时,会自动返回2.

  1. raw_input()接收任何形式的输入,但是所有的返回都是字符串类型;

  2. input()希望能够接收合法的python表达式,所以输入字符串的时候需要用引号括住。同时,它返回的值能够保持自有的特性,如输入数字,返回的类型是int,float…

因此这些特性可以提醒我们使用它们的区别和场景。input()可以执行python表达式从某方面来说是“危险”的。例如那道CTF的题目,就是利用input()输入不合法的Python表达式,程序抛出异常,使得Flag暴露出来。

之前使用dSploit的时候就一直在想怎么对手机进行抓包分析,前两天使用了Burpsuite神器,发现通过简单的配置就可以抓手机app的数据包了,进而分析手机app的流量。

配置环境:

  1. win7下安装了Burpsuite_v1.6
  2. 普通Android手机

step1

让Android手机和PC连入同一个网段的wifi,即在同一个无线局域网环境下。

Read More

刚在win下搭建好hexo并且部署到github上,先记录一下..之前有在Linux环境下搭建过,当时对Linux不太熟,出了一堆的bug,后来都解决了,折腾了一番,最后增长了经验值。后来搭建hexo的虚拟机没掉了,因此现在在win下重新搭建一个。

hexo系列教程:(二)搭建hexo博客 中有很好的教程,然后根据自己实际部署的情况再做一些补充。

教程里面有几个步骤:

  1. 安装Git
  2. 安装Node.js
  3. 安装hexo
  4. 创建hexo文件夹
  5. 安装依赖包
  6. 在Github上创建repository
  7. 部署

这里补充一下部署的细节吧

部署

我在实际部署中是需要设置ssh的,设置ssh网上有许多教程,但需要注意的一点是邮箱好像是要github验证过的。

生成public key

ssh-keygen -t rsa -C "邮箱地址"

设置github上的SSH keys

登录github,添加刚刚生成的key

设置git的用户名和email

git config -global user.email "邮箱地址"
git config -global user.name "用户名"

编辑_config.yml文件

deploy:
  type: git
  repo: git@github.com:7777777line/7777777line.github.io

上面的编辑内容和教程里的有点不一样。

部署

hexo g
hexo d

部署完之后就可以愉快地玩耍啦