- 博客(101)
- 资源 (3)
- 收藏
- 关注
原创 熟悉多种编程语言的一个好处
需求: server 提供一种服务, client 通过特定的协议和 server 通信. 因为 server 面向的范围较广, client 可能由 Python, PHP 或 Java 编写. 如果有一个熟悉上面三种语言的人, 他理解协议后, 用三种语言各写一个和 server 通信的模块, 给需要的人调用. 如果由三种语言的人各自编写通信模块, 则每一个人都需要理解协议. 当 serv
2014-02-17 17:42:27
1173
原创 VirtualBox NAT 方式下和宿主机的连接
以前用 VMware 采用 NAT 方式, 宿主机和虚拟机是可以通信的. 今天用 VirtualBox 设置为 NAT, 宿主机和虚拟机不能正常通信, 以为是配置的问题. VirtualBox三种网络设置说明(Nat Host Bridge) 中提到 VirtualBox 这样设置宿主机不能访问到虚拟机. 看了下 VirtualBox 的网络设置, 发现支持多网卡, 这就很容易解决.
2014-02-12 15:57:16
1294
原创 Python 生成临时文件名
Python2.7 的库 tempfile 中, 只有生成临时文件的函数, 没有生成临时文件名的函数. 但很多时候, 我们需要在程序中安全地生成一个临时文件名, 由我们自己写入内容和负责删除. 可以用这种方式得到:os.path.join ( temfile.mkdtemp() + name )使用后, 由自己删除临时文件和临时目录.
2014-02-08 16:38:20
4040
原创 win 下用 pyinstaller 转换python代码为可执行程序
选择 pyinstaller 而非 py2exe 的原因可参考: 关于python打包成exe的一点经验之谈 . 此时 pyinstaller 的最新版本为 2.1, 用 Google 搜到的相关文章基本为 2.0, 安装并不相同. 官网在 win 下的安装介绍为: Installing in Windows For Windows, PyWin32 is
2014-02-08 15:40:35
1237
原创 ossec-logcollector bug
现象: 一个文件监控一段时间(10分钟左右)后, 会忽略掉而不监控. 2014/01/10 18:50:11 ossec-logcollector(1950): INFO: Analyzing file: '/var/ossec/logs/alerts/alerts.log'. 2014/01/10 18:50:11 ossec-logcollector: INFO: Star
2014-01-14 14:27:30
1305
原创 SSL 和 只加密传输内容
一个安全性要求比较高的场合, 我用 SSL 通信, 同事问为什么不采用将通信的数据加密, 然后用 socket 传输. 这样简单很多, 而他用 PHP 实现需要 CERT 的 SSL 比较复杂. 单纯加密传输的数据, 是可以受到重放攻击的. 关于重放攻击, 可以参考: 重放攻击及防御方案 . SSL 就不会, 因为 SSL使用序列号
2014-01-10 18:08:33
1060
原创 HTML5 下利用 csrf 上传文件
看到这篇文章: 利用 csrf 漏洞上传文件 . Q1: 怎样构造一个实际有效的例子; Q2: 怎样检测这种漏洞; 直接将文中的 payload 写入一个 html 文件, 用浏览器加载, 并没有成功发送带有文件内容的 request . 个人使用 Chrome, 支持 HTML5. 将含有 payload 的 html 文件从本地转到
2014-01-05 17:20:18
1657
原创 Python 默认参数值
用 pychecker 检测代码时, 提示Modifying parameter (***) with a default value may have unexpected consequences记起"Google Python 语言规范" 中提到不要在函数或方法定义中使用可变对象作为默认值. Yes: def foo(a, b=None): if b is None:
2013-12-14 00:00:26
875
原创 libvpx 库的依赖解决
在 RedHat Server 6.3 上使用 yum 安装程序, 遇到下面的问题Error: Package: gstreamer-plugins-bad-free-0.10.19-2.el6.x86_64 (base) Requires: libvpx.so.0()(64bit) Available: libvpx-0.9.0-8.el6_0.x86
2013-11-21 16:16:15
7047
原创 Struts S2-016 远程任意命令执行漏洞检测代码
前两天泛滥了Struts 的漏洞利用工具, 可参考 S2-016 和 Struts2再爆远程代码执行漏洞 , 当时写了一个很简单的 python 程序用来检测 url 是否存在此漏洞.#!/usr/bin/env python #coding=utf-8 ''' author: zz_d date: 2013-07-17 ''' import sys import urllib import
2013-07-19 16:02:30
4039
1
原创 Ubuntu 12.04 server 安装后可能需要更新 apt 源
用 iso 文件装了个 ubuntu 12.04 server 后, 发现使用 "sudo apt-get install xxx" 程序时, 总是提示"Media change: please insert the disc labeled... cdrom ..." 错误信息. 此时, 虽然可以用 "sudo mount /...ubuntu-12.04.2-server-i386.iso /
2013-07-16 13:00:11
5728
原创 企业Unix Shell行为审计系统——基于Enterprise Audit Shell(EAS)的二次开发
<!-- body, td {font-family:Tahoma; font-size:10pt} --> 了解 EAS, 可以先参考下 企业Unix Shell行为审计系统——Enterprise Audit Shell(EAS) 和 用eash实现linux的shell审计 . 因公司需要, 我曾经基于 EAS 做过二次开发, 实现的一些增强有:
2013-07-14 22:53:49
2488
原创 no module named pycurl
<!-- body, td {font-family:Trebuchet MS; font-size:11pt} --> no module named pycurl 在 linux 上安装 pycurl. $ locate curl-config /usr/bin/curl-config /usr/share/man/man1/curl-config
2013-07-12 14:49:53
4857
原创 将 Evernote 内容发布到 Blog
个人很喜欢 Evernote 的内容展示, 希望对同样喜欢的人有用. 1. 将选中的 Evernote 导出为单个 HTML 网页; 2. 复制导出网页的源码; 3. 一般的 Blog 编辑器都可以选择输入 HTML 语言, 已 CSDN 为例, 选择 "源代码"粘贴导出的 HTML 源码即可.
2013-07-03 20:47:31
1976
原创 eas 中由 ssl.c 文件中 SSL_close_all 引发的 bug
<!-- body, td {font-family:Tahoma; font-size:10pt} --> SSL_close_all 函数的源码如下: void SSL_close_all(SSL *ssl, SSL_CTX *ctx, int client_fd) { s_log(eDEBUG1, "calling s
2013-07-03 19:40:39
1258
原创 ubuntu 12 忘记密码重设
1. 启动系统, 长按 Shift 进入 grub 引导; 2. 选择 recovery mode , 按 e 进入编辑; 3. 将 "ro recovery nomodeset" 改为 "rw single init=/bin/bash" (网上一般都说是修改 "ro single", 但我的 ubuntu 12.04 中并没有 "ro single") 4. 按 Ctrl +
2013-06-01 16:34:36
873
原创 Python多线程检查域名是否存在
个人想查看下哪些短的域名还没有被用来提供网络服务, 自己可从中选择一些有趣的使用. 首先使用字典生成算法, 生成一个关键字列表文件. 如下 #!/usr/bin/env python #coding=utf-8 """ filename: make_key.py author: zz_d date: 2013-05-25 """ import sys import getopt len
2013-05-30 21:31:12
3856
原创 python 在 win cmd 环境中形如 '\xhh' 输出的转化
在 win cmd 中 python 产生 "\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3" 错误输出. 组合 encode, decode, "utf-8", "gb2312" 都没解决. 在 Googlegroups 中找到如下一种转换方法: #!/usr/bin/env python #coding=utf-8 import sys def
2013-05-13 23:37:41
1332
原创 python 更新版本后库的安装
使用的 Linux 上 Python 版本为python2.6, 自己下了个新版本 python2.7 的 .tar.gz 文件, 编译和安装. 安装新的版本后, Python 在安装库时经常遇到依赖的问题. 使用" python2.6 setup.py install" 即可正确安装.
2013-05-06 10:58:38
1185
原创 使用 cwRsync 从 win 同步代码到 Linux
需要在 win 下编写代码, 在 Linux 上进行调试. 采用 rsync 来进行同步. 以下为部署过程. win 1. 下载和安装 cwRsycServer , 安装目录为 Dir . 2. 修改 Dir 下的 rsyncd.conf 为 uid = 0 gid = 0 use chroot = false strict modes = false hosts allow = *
2013-04-17 11:03:18
908
原创 gdb-- help all, 方便 Ctrl + F
Command class: aliases ni -- Step one instruction rc -- Continue program being debugged but run it in reverse rni -- Step backward one instruction rsi -- Step backward exactly one instruction si -- S
2013-04-10 11:36:42
2439
原创 fork 导致的内存泄露
今天找到一个困扰一段时间的内存泄露问题的原因. 调用 fork() 后, 拷贝了原进程的内存, 却并没有继承原进程释放内存的线程.
2013-03-25 17:00:54
1421
原创 八卦奇艺收购pps过程
今天 15:00 左右, 公司内部流传一消息, 说奇艺通过百度以3.5亿美元收购pps, 在google只能上搜到一篇文章, 内容和这篇类似 http://zx.sj.91.com/content/2013-03-22/20130322023106438.shtml , 原出处是一家很小的网站, 现在已经搜不到, 发出时间大概为 13:30. 当时就怀疑真实性, 但却觉得造谣也不应该这样大胆吧.
2013-03-22 22:47:23
1044
原创 Google Reader 关闭
Google Reader 关闭 1. 会对 Google 的品牌形象造成一定影响, 我以后不会再执着于 Google 搜索, 以及其余 Google 的产品. 2. RSS 虽然不算大众, 但用户大多为专注和深度阅读学习的人, 知识水平相对较高. 这样特性的用户很难大量聚集在另外一个平台. Google Reader 中本身已经实现了用户和文章的差异化分析, 可以实现对这部分用户的精准广告和
2013-03-16 01:38:19
616
原创 openvas 部署检查
前两天在 backtrack 上测试 openvas, 按照书上的步骤设置后. 总不能正确运行. 运行:$ cd /pentest/misc/openvas $ ./openvas-check-setup按照结果中的建议修复相关 error 即可.
2013-03-14 15:32:17
845
原创 Linux C 获取进程的退出值
如以下代码所示:/***************************************************************************** * Copyright : All Rights Reserved. * * Date : 2013-03-14 15:11:48 * Author/Corpor
2013-03-14 15:13:19
1673
原创 backtrack5 r3 中 "enable universe component"
1. 安装 software-center $ apt-get install software-center 2. 然后 For older versions of ubuntu, there are several options: Main Menu: System > Administration > Software Sources. Synaptic : Sy
2013-03-12 14:34:23
1351
原创 chrome 中解除 360doc 禁止复制
360doc真让人讨厌. 以下是步骤: 1. 在页面右键, 选择"审查元素"; 2. 在 "Elements" 窗口中选择 "--", 右键,选择"delete node". 3. 关闭"审查元素"窗口, 即可正常复制.
2013-03-09 11:17:57
2551
原创 webgoat 中 Blind String SQL Injection 的 Python 编程解决
这个 task 如果用手工尝试的话, 还是比较麻烦的. 决定用编程解决. Python处理任务相关的问题比较方便, 花时间入门了下 python, 然后开始写代码, 很简单的原理. 在这期间发现简单的算法都不熟了, 汗. 以下是代码#!/usr/bin/python #author: dengzhaoqun #date: 2013-03-08 #email: dengzhaoqun@163
2013-03-08 16:54:08
1702
原创 windows 文件保护机制
操作系统的核心文件非常重要, 如果被改写可能会引起严重后果. Win 引入文件保护( Windows File Protection, WFP)机制. WFP 保护特定的文件类型, 如扩展名为 SYS, EXE, DLL, OCX, FON 和 TTF 的系统文件. 当一个应用程序试图替换一个受保护的文件时, WEP检查替换文件的数字签名, 判断此文件是否来自微软, 以及是
2013-03-06 00:02:21
2041
原创 linux c 查找使用库的 cflags 和 libs
很多时候,使用一些特别的库, 在编译可执行程序时, 需要添加额外的 CFLAGS 和 LIBS . 否则会提示找不到指定的头文件或者"undefined reference to ..." 的错误信息. 假如程序 test.c 中使用了 libxml 的 api, 直接$ gcc -Wall -o test test.c会提示错误消息. 执行 $ ls /usr/lib/pkgconfi
2013-03-05 15:37:54
1711
原创 C 使用 Inotify 监控目录和文件
1. 监控路径并打印所有发生在该路径的事件. 代码如下: /***************************************************************************** * Copyright : All Rights Reserved. * * Date : 2013-03-01
2013-03-01 13:26:35
9626
原创 wget 指定本定文件夹和保存为特定名称
1. 在shell 中执行以下命令 wget -P /root/test "http://www.baidu.com/index.html" 会把 index.html 文件保存到 "/root/test" 目录下. 2. 执行 wget -O "baidu.html" "http://www.baidu.com/index.html" 会把 index.hmtl 保存到当前目
2013-02-28 11:27:41
35549
2
原创 C中不安全的 sprintf 和 strcpy
经过跟踪调试, 发下不少 bug 源于 sprintf 和 strcpy 之类可能造缓冲区溢出的函数. 应该将所有的 sprintf 用 snprintf 替换. 将 strcpy 用 strncpy 替换, 并且将末尾字节设置为 ''\0' . strncpy(buf, str, len); buf[len] = 0;
2013-02-27 09:47:39
1403
原创 win7 64位系统 system32 文件夹下 exe 程序异常
将 blat.exe 放在 win7 64位系统 c:\windows\system32 文件夹下, 从程序中调用失败, 直接调用可以. 返现用搜索然间"Everything" 搜索 "blat.exe" 的结果中 system32 目录下的 blat 和其他目录下的颜色并不一样. 于是将 blat 放到另外 dir, 并将 dir 添加到系统 path, 从程序中调用成功. 原因可参考:
2013-01-31 22:01:12
2293
原创 订阅"新闻联播"文字标题到邮箱
偶尔还是想关注下崇高的"新闻联播"在说什么, 便用 shell 写了个抓取文字标题发送到邮箱的脚本. 如下: #!/bin/sh #author: dengzhaoqun #date: 2013-01-29 tmp_file="/tmp/tmp_xm_update_xwlb" tmp_mail="/tmp/tmp_xm_update_xwlb_mail" url="http://cctv.
2013-01-31 16:08:38
3700
原创 backtrack 中使用 mail 命令发送邮件
我的 bt 版本为 Backtrack5 r3. 需要使用 mail 命令发送邮件到 QQ 邮箱. 原先安装 mailutils, 不显示错误, 但 QQ 邮箱也接受不到邮件. 此时 mail 命令不包含 -v 选项. 卸载 mailutils, 安装 bsd-mailx $ apt-get remove mailutils $ apt-get install bsd
2013-01-31 15:56:38
907
原创 C 实现 HUP 信号重启进程
/***************************************************************************** * Copyright : All Rights Reserved. * * Date : 2013-01-11 17:02:10 * Author/Corporation :
2013-01-11 16:55:46
1043
原创 select, semop 等阻塞的系统调用返回值的检查
最近工作实现一个 7 * 24 小时的服务程序, 经常出现 "semop: Interrupted system call", "select failed: Interrupted system call". 经查是因为在 select, semop 的返回值为 -1 时没有对 errno 进行检查. 如果 "errno == EINTR", 则应该 continue. 这篇文章说得很
2012-12-28 16:16:27
1923
原创 列数不同数组的一种遍历
今天同事碰到个问题, 我因为生疏, 也耗了些时间才搞定. 下面类型的一种数组 list = [ ["a", "b"], ["1"] ["dd", "ee"] ]需要得到的遍历组合结果为 "a1dd", "a1ee", "b1dd", "b1ee" 直接用循环似乎并不方便实现. 以下是递归的一种实现方法. len = num_of_member( list ) fun( li
2012-12-19 17:46:42
494
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅