网络安全攻防_基础_第一课

文章目录

  • 1、环境搭建
    • 1.1、 About brup
      • 1).brup安装与介绍
      • 2).brup与浏览器拦截的代理配置
      • 3). 认识brup的基本功能
  • 2、PHP与url
  • 3、判断闭合
  • 4、 判断列数

1、环境搭建

phpStudy+火狐浏览器+hackbarV2+New Hackbar+FoxyProxy+brup

1.1、 About brup

1).brup安装与介绍

安装jdk,配置环境变量,控制台java和javac有东西证明成功

直接用jdk打开brup.jar即可

brup字体大小调整: user option->Display中,user interface调整UI大小,http message display调整内容大小,调整后需重启

2).brup与浏览器拦截的代理配置

  • proxy模块:核心模块,在该模块的Options中设置代理,如果设置127.0.0.1:8080, 则浏览器代理也设置为127.0.0.1:8080

  • 浏览器需要设置代理,用来开启和关闭:火狐浏览器安装 foxyproxy standard 插件。(谷歌浏览器设置代理即可),在代理插件中设置代理地址127.0.0.1:8080 (与brup中相同)

3). 认识brup的基本功能

浏览器打开代理拦截,浏览器中提交的header会被brup拦截,显示在proxy 模块下http history中,如果intercept 中的intercept is on 状态则在intercept中也显示所有的拦截信息。可以把拦截的信息发送到Repeater(单次发包模块)中进行操作。intruder是多次发包模块,多用子爆破。

在intercept模块中:forward =放过,drop=丢弃

在intruder模块中的Positions模块中的Attack type有四种模式:

  • sniper模式 单一变量,单一payload, 用于一个变量的爆破,用一个字典。

  • battering ram模式 两个变量,单一payload,用于两个变量的爆破,共用一个字典。

  • pitchfork模式 两个变量,两个payload(木桶短板),用于两个变量的爆破,每个变量都有一一对应的字典,var1的取值与var2是单独的,没有联系。

  • cluster bomb模式 两个变量,两个paylload交叉,用于两个变量的爆破,即var1每次取一个值,则都需要var2取遍全值,需要var1 * var2次匹配

2、PHP与url

$param = @$_GET/POST/REQUEST['param'];
# GET
http://127.0.0.1/?id=1
# POST
http://127.0.0.1
Enable post data中输入id=1
# REQUEST两种提交方式都可以

%23=#注释,%20=空格%27=' 单引号

post提交框中输入时不用%,直接# 即可

3、判断闭合

?id =1' and 1=1 %23 不报错

?id =1' and 1=2 %23 报错

说明闭合正确

也可以使用\根据报错信息来判断闭合的方式:

输入?id=1\ ,报错信息: 后不需要加%23

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1\' LIMIT 0,1' at line 1. ,从返回的错误信息中可以看出\后是一个' ,所以判断闭合方式为单引号闭合。

绕过addslashes()函数的宽字节注入

addslashes()函数可以将用户输入的单引号进行转义,从而防止注入,用户在闭合时会无法判断闭合方式,可以利用宽字节注入加%bf

?id=-1%bf' union select 1,2,3 %23

4、 判断列数

联合查询 后面select后查询的列数得与前面的相同才可以,所以需要知道列数,用order by来判断,num如果超过列数会报错,来判断有多少列

?id=1’ order by num %23

你可能感兴趣的:(网络安全攻防_基础_第一课)