自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

JavaMail邮箱验证实现

使用JavaMail对用户注册,重置密码实现邮箱验证.

2010-11-10

Jsp Mysql 中文 专项集成演示.rar

这个资源中有很多不足之处,为了不受误导,请下载我改进的版本.

2010-11-02

Jsp Mysql 中文 Servlet错误捕捉 集成演示2.rar

目标:简单,高效地解决问题.希望能对初学者有所帮助.

2010-12-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除