我做的第一的安全方面的php习题是我们社团大佬弄的,原始的网页上面是一串字php代码。读懂了那些代码,在加上知道在什么地方进行注入就可以了。首先我要记录的是注入的地方,url。就是在输入网址的地方弄的,在那里, 你如果想要注入的是一些php代码的话,那你要弄的应该是<php?在进行之后的操作。但是我那道题要弄的只是在那里输入一些‘账号。密码’之类的东西,所以一开始不是那些东西而只是?name=***#text=***
这中间两个变量是用的#来进行分割操作的;
然后就是总结一下那道题碰到的两个特别的函数的漏洞了,第一个php函数就是sha1()函数,获得flag要求的条件是:name != password & sha1(name) == sha1(password),这里就用到了它的漏洞——sha1()函数是无法转换数组的,所以这里注入的代码是?name=[b]#?password=[n];因为它无法转换数组所以在运行后面的sha1(name)==sha1(password)的时候,两边都是1(错误)所以就通过了,
另外的一个函数是md5函数,你要是能弄个字符串让它进行了md5编译之后会变成0e**之类的东西,那么它就是0了。好像md5这个东西还有像sha1的漏洞?我不是很清楚了。