简介:访问一个网站除了直接访问127.0.0.1这种类型的ip,还可以通过ip转换的长整数来访问网站。
例子:把a.b.c.d转换为长整数。
a*256*256*256+b*256*256+c*256+d = 2130706433
转换结果:
十进制:http://2130706433
八进制:http://017700000001
十六进制:http://0x7f000001
访问这些都相当于访问http://127.0.0.1。该办法可以用来尝试绕过SSRF漏洞过滤。
源码:
#-*- coding:utf-8 -*-
import optparse
parser = optparse.OptionParser()
parser.add_option("-p", action='store',dest="ip", help="please write ip")
(options, args) = parser.parse_args()
a = options.ip.split('.')
ip1 = int(a[0]) * 256 * 256 *256
ip2 = int(a[1]) *256 *256
ip3 = int(a[2]) *256
ip4 = int(a[3])
ip = ip1 + ip2 + ip3 + ip4
print("10 : "+str(ip))
e = str(oct(ip))
print("8 : 0"+e[2:])
print("16 : "+hex(ip))
运行:
ip-long.py -p 127.0.0.1