自定义博客皮肤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 1060

原创 VirtualBox NAT 方式下和宿主机的连接

以前用 VMware 采用 NAT 方式, 宿主机和虚拟机是可以通信的.今天用 VirtualBox 设置为 NAT, 宿主机和虚拟机不能正常通信, 以为是配置的问题.  VirtualBox三种网络设置说明(Nat Host Bridge)  中提到 VirtualBox 这样设置宿主机不能访问到虚拟机.看了下 VirtualBox 的网络设置, 发现支持多网卡, 这就很容易解决.

2014-02-12 15:57:16 1187

原创 Python 生成临时文件名

Python2.7 的库 tempfile  中, 只有生成临时文件的函数, 没有生成临时文件名的函数.但很多时候, 我们需要在程序中安全地生成一个临时文件名, 由我们自己写入内容和负责删除. 可以用这种方式得到:os.path.join ( temfile.mkdtemp() + name )使用后, 由自己删除临时文件和临时目录.

2014-02-08 16:38:20 3831

原创 win 下用 pyinstaller 转换python代码为可执行程序

选择 pyinstaller 而非 py2exe 的原因可参考: 关于python打包成exe的一点经验之谈 .此时 pyinstaller 的最新版本为 2.1, 用 Google 搜到的相关文章基本为 2.0, 安装并不相同.官网在 win 下的安装介绍为:Installing in WindowsFor Windows, PyWin32 is

2014-02-08 15:40:35 1144

原创 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 1177 1

原创 SSL 和 只加密传输内容

一个安全性要求比较高的场合, 我用 SSL 通信, 同事问为什么不采用将通信的数据加密, 然后用 socket 传输.这样简单很多, 而他用 PHP 实现需要 CERT 的 SSL 比较复杂.单纯加密传输的数据, 是可以受到重放攻击的.关于重放攻击, 可以参考: 重放攻击及防御方案 .SSL 就不会, 因为SSL使用序列号

2014-01-10 18:08:33 996

原创 HTML5 下利用 csrf 上传文件

看到这篇文章: 利用 csrf 漏洞上传文件 .Q1: 怎样构造一个实际有效的例子;Q2: 怎样检测这种漏洞;直接将文中的 payload 写入一个 html 文件, 用浏览器加载, 并没有成功发送带有文件内容的 request .个人使用 Chrome, 支持 HTML5.将含有 payload 的 html 文件从本地转到

2014-01-05 17:20:18 1576

原创 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 779

原创 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 6573

原创 Struts S2-016 远程任意命令执行漏洞检测代码

前两天泛滥了Struts 的漏洞利用工具, 可参考 S2-016 和 Struts2再爆远程代码执行漏洞 , 当时写了一个很简单的 python 程序用来检测 url 是否存在此漏洞.#!/usr/bin/env python#coding=utf-8'''author: zz_ddate: 2013-07-17'''import sysimport urllibimport

2013-07-19 16:02:30 3910 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 5646

原创 企业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 2363 1

原创 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 4726

原创 将 Evernote 内容发布到 Blog

个人很喜欢 Evernote 的内容展示, 希望对同样喜欢的人有用.1. 将选中的 Evernote 导出为单个 HTML 网页; 2. 复制导出网页的源码;3. 一般的 Blog 编辑器都可以选择输入 HTML 语言, 已 CSDN 为例, 选择 "源代码"粘贴导出的 HTML 源码即可.

2013-07-03 20:47:31 1879

原创 eas 中由 ssl.c 文件中 SSL_close_all 引发的 bug

<!--body, td {font-family:Tahoma; font-size:10pt}-->SSL_close_all 函数的源码如下:voidSSL_close_all(SSL*ssl,SSL_CTX*ctx,intclient_fd){s_log(eDEBUG1,"calling s

2013-07-03 19:40:39 1136

原创 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 752

原创 Python多线程检查域名是否存在

个人想查看下哪些短的域名还没有被用来提供网络服务, 自己可从中选择一些有趣的使用. 首先使用字典生成算法, 生成一个关键字列表文件. 如下#!/usr/bin/env python#coding=utf-8"""filename: make_key.pyauthor: zz_ddate: 2013-05-25"""import sysimport getoptlen

2013-05-30 21:31:12 3728 2

原创 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-8import sysdef

2013-05-13 23:37:41 1237

原创 python 更新版本后库的安装

使用的 Linux 上 Python 版本为python2.6, 自己下了个新版本 python2.7 的 .tar.gz 文件, 编译和安装.安装新的版本后, Python 在安装库时经常遇到依赖的问题. 使用" python2.6 setup.py install"  即可正确安装.

2013-05-06 10:58:38 1042

原创 使用 cwRsync 从 win 同步代码到 Linux

需要在 win 下编写代码, 在 Linux 上进行调试. 采用 rsync 来进行同步. 以下为部署过程.win1. 下载和安装  cwRsycServer , 安装目录为 Dir .2. 修改 Dir 下的 rsyncd.conf 为uid = 0gid = 0use chroot = falsestrict modes = falsehosts allow = *

2013-04-17 11:03:18 807

原创 gdb-- help all, 方便 Ctrl + F

Command class: aliasesni -- Step one instructionrc -- Continue program being debugged but run it in reverserni -- Step backward one instructionrsi -- Step backward exactly one instructionsi -- S

2013-04-10 11:36:42 2136

原创 fork 导致的内存泄露

今天找到一个困扰一段时间的内存泄露问题的原因.调用 fork() 后, 拷贝了原进程的内存, 却并没有继承原进程释放内存的线程.

2013-03-25 17:00:54 1220

原创 八卦奇艺收购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 977

原创 Google Reader 关闭

Google Reader 关闭1. 会对 Google 的品牌形象造成一定影响, 我以后不会再执着于 Google 搜索, 以及其余 Google 的产品.2. RSS 虽然不算大众, 但用户大多为专注和深度阅读学习的人, 知识水平相对较高. 这样特性的用户很难大量聚集在另外一个平台. Google Reader 中本身已经实现了用户和文章的差异化分析, 可以实现对这部分用户的精准广告和

2013-03-16 01:38:19 530

原创 openvas 部署检查

前两天在 backtrack 上测试 openvas, 按照书上的步骤设置后. 总不能正确运行. 运行:$ cd /pentest/misc/openvas$ ./openvas-check-setup按照结果中的建议修复相关 error 即可.

2013-03-14 15:32:17 771

原创 Linux C 获取进程的退出值

如以下代码所示:/***************************************************************************** * Copyright : All Rights Reserved. * * Date : 2013-03-14 15:11:48 * Author/Corpor

2013-03-14 15:13:19 1583

原创 backtrack5 r3 中 "enable universe component"

1. 安装 software-center$ apt-get install software-center2. 然后For older versions of ubuntu, there are several options:    Main Menu: System > Administration > Software Sources.    Synaptic : Sy

2013-03-12 14:34:23 1280

原创 chrome 中解除 360doc 禁止复制

360doc真让人讨厌. 以下是步骤:1. 在页面右键, 选择"审查元素";2. 在 "Elements" 窗口中选择 "--", 右键,选择"delete node". 3. 关闭"审查元素"窗口, 即可正常复制.

2013-03-09 11:17:57 2306

原创 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 1616

原创 windows 文件保护机制

操作系统的核心文件非常重要, 如果被改写可能会引起严重后果. Win 引入文件保护( Windows File Protection, WFP)机制.     WFP 保护特定的文件类型, 如扩展名为 SYS, EXE, DLL, OCX, FON 和 TTF 的系统文件.     当一个应用程序试图替换一个受保护的文件时, WEP检查替换文件的数字签名, 判断此文件是否来自微软, 以及是

2013-03-06 00:02:21 1729

原创 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 1602

原创 C 使用 Inotify 监控目录和文件

1. 监控路径并打印所有发生在该路径的事件. 代码如下:/***************************************************************************** * Copyright : All Rights Reserved. * * Date : 2013-03-01

2013-03-01 13:26:35 9450

原创 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 34976 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 1295

原创 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 2174

原创 订阅"新闻联播"文字标题到邮箱

偶尔还是想关注下崇高的"新闻联播"在说什么, 便用 shell 写了个抓取文字标题发送到邮箱的脚本. 如下:#!/bin/sh#author: dengzhaoqun#date: 2013-01-29tmp_file="/tmp/tmp_xm_update_xwlb"tmp_mail="/tmp/tmp_xm_update_xwlb_mail"url="http://cctv.

2013-01-31 16:08:38 3412

原创 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 774

原创 C 实现 HUP 信号重启进程

/***************************************************************************** * Copyright : All Rights Reserved. * * Date : 2013-01-11 17:02:10 * Author/Corporation :

2013-01-11 16:55:46 952

原创 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 1775

原创 列数不同数组的一种遍历

今天同事碰到个问题, 我因为生疏, 也耗了些时间才搞定.下面类型的一种数组list =[ ["a", "b"], ["1"] ["dd", "ee"]]需要得到的遍历组合结果为 "a1dd", "a1ee", "b1dd", "b1ee"直接用循环似乎并不方便实现.以下是递归的一种实现方法.len = num_of_member( list )fun( li

2012-12-19 17:46:42 425

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

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

2010-12-08

JavaMail邮箱验证实现

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

2010-11-10

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

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

2010-11-02

空空如也

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

TA关注的人

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