网安之web攻防第二十八天

本节课主要讲 提交方式注入 - get post cookie http头等

#知识点:

1、数据请求方式-GET&POST&COOKIE等

2、常见功能点请求方式-用户登录&IP记录等

3、黑盒白盒注入测试要点-SQLMAP注入参数

第一部分:GET&POST&COOKIE&SERVER

首先数据的请求方式有很多种,可以根据数据的大小和功能来进行分类,先说这个根据数据大小选择不同的请求方式,比如get和post,当数据短时可以用get,但是数据长的时候就要用到post请求。我们前面学的注入,都是在url后面加的payload,那用的请求方式都是get。然后就是根据功能分类,比如ua头,还有cookie以及获取ip的,这些都是根据功能的不同,用不同的请求方式

下面的源码从上到下,分别是get请求,post请求,cookie信息,request请求(所有的信息都接收),网站地址,浏览器版本及相关信息,ip地址。

<?php

header("Content-Type: text/html; charset=utf-8");

$get=$_GET['g'];

$post=$_POST['p'];

$cookie=$_COOKIE['c'];

$request=$_REQUEST['r'];

$host=$_SERVER['HTTP_HOST'];

$user_agent=$_SERVER["HTTP_USER_AGENT"];

$ip=$_SERVER["HTTP_X_FORWARDED_FOR"];

echo $get."<hr>";

echo $post."<hr>";

echo $cookie."<hr>";

echo $request."<hr>";

echo $host."<hr>";

echo $user_agent."<hr>";

echo $ip;

?>

他们的利用场景也很多,比如下图第一个很好理解,第二个就是说,服务器获取ua头,如果访问他的是pc的火狐浏览器,那么就可以和自己数据库中保存的ua信息来更好的给予显示页面。那么我们可以在尝试在ua头里面插入payload,进行SQL注入。第三个就是抓包,然后在后面账户后面或则密码后面尝试sql注入,这个前面讲过,这里可以看一下以前的截图,回忆一下。

第二部分:实例黑盒-后台表单登陆框-POST注入

这里是利用了墨者里面的一个靶场进行讲解的,首先post注入,既然是黑盒,那么我们就要根据它的功能判断他可能存在的漏洞。

开启靶场之后,由于左上方没有变量,我们第一个想到的就是右下角“关于平台”那句话,跳转过去之后确实有变量,但是不存在漏洞。因此回到我们当初的页面进行抓包,在左上方没有变量只能说明没有数据没有通过get方式传递,并且右下角是登录的,我们上面说了登录一般就是post方式传递,因为上传的文件可大可小,只能用post。所以漏洞可能就在post那里存在。抓到包之后,我们利用之前学的知识尝试SQL注入,这里有两个注意点,第一个就是这个数据包采用post方式传递,下面那些键值对则是json格式。第二个就是用户和密码采用json格式,因此要考虑单引号的闭合以及对后面那个引号的注释。这里可能是靶场的问题,刚进行到联合查询就把key爆出来了。

手工注入成功之,我们利用sqlmap再尝试注入。还是之前的方法,把数据包粘贴到txt文件中,然后利用-r参数进行测试。不要忘记*,这个符号来告诉sqlmap注入点。

接下来我们又讲了一个方式,就是利用—data

后面的purge是清楚缓存的,这个方法也是可以的,但是不知道这个方法没成功。在实际案例中尽量以商议中方式为主,不然可能会出先一些ua信息不匹配之类的问题,还是把整个数据包粘贴下来用工具跑比较保险。

第三个案例:实例白盒-ZZCMS-IP记录功能-HTTP头XFF注入

这个就是利用XFF进行SQL注入,XFF就是X_FORWARDED_FOR,这个是$_SERVER里面的,用来读取客户端的ip的。

首先我们看login.php这个的登录文件,可以看到是一些用户,密码填写和提交的源码。然后跳转到logincheck.php这个文件去验证。

到这个logincheck.php文件之后可以看到getip这个函数,以及下面密码错误的相关字样。这个不是php内置的函数,我们右键转到声明,可以找到声明这个函数的地方,可以得知是如何获取ip的。

如果是黑盒我们先找到登录页面

然后进行抓包,放包之后我们可以看到这里提示还有两次机会能够输入用户密码,那么我们可以猜想要么是通过ip要么通过cookie等等·。我们可以换个ip再登录,看它是不是还是两次,如果还是两次,那么应该就是通过记录ip来判断它输入用户名和密码的次数。

回归白盒,重点来了,我们可以看到它获取的ip传到数据库里了(看源码可以知道,我源码截图没有截全,需要可以看源码。)那么我们就可以通过抓包把payload写到XXF里面,然后进行SQL注入。

白盒测试:功能点分析&关键代码追踪

第四个案例:实例白盒-ESPCMS-商品购买-COOKIE注入

这里讲代码给我绕晕了,最后构造下图的payload得到了账号密码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaopeisec

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值