Head注入之ip注入
靶场环境:http://inject2.lab.aqlab.cn:81/Pass-09/index.php
X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。[透明代理]
当今多数缓存服务器的用户为了通过缓存的方式来降低他们的外部带宽,他们常常通过鼓励或强制用户使用代理服务器来接入互联网。有些情况下,这些代理服务器是透明代理,用户甚至不知道自己正在使用代理上网。那么为了获取你的真实IP就要用到X-Forwarded-For了。
这段Getip函数是被很多网站和CMS广泛使用的,是属于一个模板,其实就是为了获取你的真实ip,在有代理的情况下,你会发送另外一些请求头来说明你的ip是啥,其中X-Forwarded-For就是其中一种请求头字段。
那么这个getip这里面很明显没有任何过滤,如果被传入的数据被拼接进SQL语句就会发生SQL注入
这里我们可以用HTTP_X_FORWARDED_FOR 表示获取客户端的ip
(这里多说一句,这里的自定义函数是遇到匹配的函数就执行,并赋值给 ip这个变量)
但是我们截取到的数据包里却没有HTTP_X_FORWARDED_FOR,那我们怎么办?
既然没有,我们就加上这个函数:X-Forwarded-For
注:浏览器请求头统统都可以加
插入SQL语句:获取当前数据库名
'or updatexml(1,concat(0x7e,(select database())),1),1)#
后面的步骤和Head(一)一样,这里我就做最后一步。
获取字段值
需要查看其他数据替换limit 值
'or updatexml(1,concat(0x7e,(select flag_h1 from flag_head limit 0,1)),1),1)#