Less-18实验主要是:基于错误的User-Agent请求头注入
在开始这个实验前,大家需要了解一下HTTP协议,这里我们就不过多介绍了。我有一个公开课专门介绍过HTTP协议,大家可以到maxstu.ke.qq.com中看一下。
这里我们直接介绍和实验相关的部分。首先我们说一下User-Agent是干什么的?User-Agent请求报头域允许客户端将它的操作系统、浏览器和其他属性告诉服务器。登录一些网站时,很多时候都可以见到显示我们的浏览器、系统信息,这些都是此头的作用。
从Less-18的页面上可以看到,页面将客户端的IP地址显示出来了 我们在本机上,本来显示的应该是127.0.0.1,但由于我们采用的localhost,直接只有一个1。如果换成127.0.0.1就能看到。
一般有IP地址这样的功能可能是网站为了记录登录过网站的人IP地址,我们在源代码中也看到了这一点:
另外在输入用户名和密码的地方是无法注入的,因为源码中使用了check_input()函数来进行过滤:
所以这里只能用insert那个地方注入。这里我们需要使用BurpSuite工具来对提交User-Agent的头进行修改。在源码中有mysql_error()函数,所以提交的注入代码可以是错误注入的语句。
由于这里我们主要是学习sql注入漏洞原理,BurpSuite、SQLmap等工具,后面再统一介绍。