PHP爆绝对路径的另类方法

2008年11月13日 23:58 . 分类 网络相关 . 7 条评论 . 被踩 229 次 

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

今天有人留言问我关于php爆绝对路径的事,这其实是个很古老的问题,网上也有很多解法。除了利用漏洞爆绝对路径外,我们最常见的方法就是利用php的最大执行时间来爆出绝对路径。

自己手工设置过php的人都知道,在php.ini里有一条语句"max_execution_time",这个就是php的最大执行时间。如果某个php页面在这个时间内没有执行完毕,就会报错,而php报错的话一般都会将绝对路径爆出来。php之所以有这样的设置是为了减小服务器的负担,但同时也给了黑客可乘之机。

问我的人他知道这个原理,所以他使用了DOS方式,打算使目标网站的速度减慢,从而爆出路径。但在操作的过程中发现目标网站的防DOS系统做得很好,因此他不能成功获取绝对路径,那么怎么办呢?

解决方法其实也很简单,既然我们不能减慢目标网站的速度,那我们就想办法减慢自己的速度,这样达到的效果是一样的。那么怎么减慢我们自己的速度呢?也很简单,只要我们找一个速度极慢的代理,挂上以后再上目标网站,就有可能将绝对路径爆出来。

二道数学题阐释递归思想

2008年11月12日 23:55 . 分类 编程相关 . 2 条评论 . 被踩 72 次 

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

有同学问什么是递归,我懒得说,拿两道数学题来阐释好了。。。

1、两个人从1开始,轮流报数,每个人都只能报接下来的一个数或两个数。比如第一个人可以报1,也可以报1、2;如果第一个人报1、2,第二个人就可以报3或者3、4;然后第一个人又报......这样报下去,最先报到30的人获胜,求必胜策略。

解答:最先报到30的人获胜,那么先报到27的人就一定可以获胜,同理先报到24的人就一定能获胜……递归下去。21,18,15……,最终得到的结论就是先报到3的人必胜。也就是说,后报者必胜。不管先报者报多少,后报者始终能报到3的倍数,必胜。

如果先报到30的人输,同理,先报到29的人就赢了,然后同样递归,26,23,20……

2、有10枚硬币,每人轮流取硬币,可以拿一枚、两枚或四枚,取到最后一枚硬币者胜。求必胜策略。

利用递归思想解答:

硬币总数是一枚,先取者赢;
硬币总数是两枚,先取者赢;
硬币总数是三枚,先取者输;
硬币总数是四枚,先取者赢;
硬币总数是五枚,先取者赢(自己取两枚,对方面临三枚的情形,必输);
硬币总数是六枚,先取者输(不管取多少,对方面临的情形都是必胜的);
硬币总数是七枚,先取者赢(自己取一枚,对方面临六枚的情形,必输);
硬币总数是八枚,先取者赢(自己取两枚,对方面临六枚的情形,必输);
硬币总数是九枚,先取者赢(不管取多少,对方面临的情形都是必胜的);
硬币总数是十枚,先取者赢(自己取一枚,对方面临九枚的情形,必输)。

忙碌的一天,早出晚归

2008年11月11日 23:11 . 分类 大学生活 . 5 条评论 . 被踩 100 次 

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

今天是11月11日,传说中的光棍节,呵呵,笑笑而已~

从早晨出去上课到晚上快断网,我都一直在外面,宿舍也没回,当然也就没开电脑,没上网了。

上午的C语言实验课是用WinTC画图,没什么意思,我随便搞了几个循环加变色画圆就交了。。。

中午本来应该是网络部开例会的,但是今天突然通知主席要开紧急会议,所以一下课我们就马不停蹄地奔向远在粤华的校会办公室,等啊等啊等啊。。。主席来了。。。开啊开啊开啊。。。会议结束了。。。闪啊闪啊闪啊。。。上课迟到了。。。

呵呵,四个部门将近50个人开到1:40才散会,当然了,几乎所有的人中午都没吃饭,然后我又一路狂奔到丽泽楼上语文。。。今天语文考试,我晕。

语文上完继续狂奔到综合楼上英语,今天居然被叫起来回答问题,不过还好我会,哈哈。

上完英语就5:10了,去食堂5分钟消灭了一顿晚餐,鼓捣了一些事情就又向励耘楼冲去,听我在大学的第一次"形势与政策"课。。。

等到了励耘楼的800人大教室,我才知道大学的"占座"是何等的壮观,君不见一排座位上面那些各式各样的书:英语书、语文书、程序设计、法律、金融、会计。。。都在向我们传递一个信息"小样儿,你新来的吧,这有人了"。。。

跟同学在教室里漫无目标地寻找安身之所,终于让我们在放着二本"Windows CE 系统"的座位旁边找到了空位。。。

今天形势与政策讲的是奥巴马。。。猜见也是。。。当然了,几乎是没有什么人听的,大家不是在看书,就是在聊天,无所事事的就趴下睡觉,还不就是为了那个破章。。。

上完形势与政策还没完,跑去乐育上心理学。。。

上完心理学总该回宿舍了吧?不!吃宵夜去。。。

吃完宵夜再不回宿舍的就是神经病了。。。

不过今天貌似神经病还真不少,大晚上的在外面鬼哭狼嚎,吵得我连日志都写不下去。。。

MySQL之命令行导入大文件

2008年11月10日 21:04 . 分类 数据库相关 . 4 条评论 . 被踩 307 次 

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

随着数据库越来越大,转移起来也出现了问题。用phpmyadmin导入大数据库的时候,服务商会限制数据库的大小,有时候即使服务商没限制,导入的时候也超时......

今天就遇到了这个问题,不过还好可以使用shell......

mysql -uUsername -pPassword DatabaseName <备份文件的路径\slyar.sql

使用上面这条命令就可以无视数据库大小限制导入数据库备份文件啦,当然有导入就有导出,只要把"<"改成">"就可以导出了。

有时候由于数据库字符集的问题会出现ERROR at line : Unknown command '\''.这时只要在最后加上以下命令就可以解决了。

--default-character-set=utf8

mysql -u用户名-p密码 数据库名 < SQL文件路径 --default-character-set=utf8

简单说下XP/Vista的粘滞键漏洞

2008年11月09日 12:04 . 分类 单机相关 . 12 条评论 . 被踩 137 次 

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

大学里面有同学问,我直接写出来凑文章数好了。某几个人勿要鄙视我,看看你们写那么高深的东西有几个人去看......我这叫普及安全知识,懂不懂?

好了,回归正题,既然是粘滞键漏洞,首先我们要知道粘滞键是什么。

"粘滞键"是为同时按下两个或更多个键有困难的人设计的。当快捷方式要求使用诸如 CTRL 键 + S 键等的组合键时,“粘滞键”允许用户按下修改键(CTRL 键、ALT 键或 SHIFT 键)或 Windows 徽标键之后,它能保持这些键的活动状态直到按下其他键。

那么怎么调用出粘滞键呢?很简单,按五次shift键,之后就会出现粘滞键的应用程序了。

重点在这。既然按五次shift键会出现粘滞键程序,那么就一定有一个exe跟他关联,而这个exe是可以通过按五次shift键来运行的。如果我们把这个被激活的程序替换成cmd.exe,那么只要我们按五次shift键,就会得到一个cmdshell了。

del /q %systemroot%\system32\dllcache\sethc.exe
del /q %systemroot%\system32\sethc.exe
copy %systemroot%\system32\cmd.exe %systemroot%\system32\dllcache\sethc.exe
copy %systemroot%\system32\cmd.exe %systemroot%\system32\sethc.exe

恩,差不多就是这些命令,把sethc.exe替换成我们的cmd.exe,运行之后按五次shift看看,是不是出现了shell?

这个应用应该是很广泛的,比如我们在SQL里把粘滞键程序换掉,然后直接3389登陆上去,再之后按五次shift,最后加用户,登入......恩,就这样吧,简单介绍,其他应用自己琢磨去。

最后说一下如何禁用粘滞键功能。开始--设置--控制面板--辅助功能选项--(粘滞键)设置--把"使用快捷键"前面的勾去掉,完成。现在按五次shift就无法调出粘滞键程序了。

C语言中 scanf()的返回值是成功读入参数的个数

2008年11月08日 23:01 . 分类 编程相关 . 2 条评论 . 被踩 269 次 

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

忘了是谁前天问的了,本来是打算昨天写的,不过昨天有讲座写,于是乎就改今天写了。

他问我为什么 while(scanf("%d",&a)!=0) 这样的语句不能中断程序。OK,我们知道while()的参数是一个值,而这个值是scanf()函数返回的,所以我们到MSDN里面看一下相关的说明:

Both scanf and wscanf return the number of fields successfully converted and assigned; the return value does not include fields that were read but not assigned. A return value of 0 indicates that no fields were assigned. The return value is EOF for an error or if the end-of-file character or the end-of-string character is encountered in the first attempt to read a character.

通过这段话,我们可以知道scanf()的返回值并不是参数的值,而是成功读入参数的个数,举例说明:

scanf("%d%d",&a, &b);

如果a和b都被成功读入,scanf()的返回值是2

如果只有a被成功读入或者只有b被成功读入,scanf()的返回值为1

如果a和b都未被成功读入,scanf()的返回值为0

如果遇到错误或遇到End Of File,scanf()的返回值为EOF。

所以呢,文章开头提到的那句代码是不能正常中断程序的。

关闭
E-mail It