【BurpSuite】初学笔记之数据获取测试

运用Intruder并利用注入漏洞,批量匹配出所需要的数据,一般用于数据库数据提取。

一.检查代理:Proxy--Options

二.拦截关闭:Proxy--Intercept--关闭(Intercept is off)

三.打开浏览器,查看代理

四.打开网址寻找注入点

 五.打开bp查看抓取:Proxy--HTTP history--右键send to intruder进行测试

六.添加变量

:Intruder--Positions

可以看出程序默认把1设置成为了变量 

点击Clear $ 清空变量

我们的注入值在'1'之后

在‘1’后随意添加一个变量,如下图

 七.寻找查询字段

Intruder--Paylaods--Laod...

利用SQL注入的字典来进行匹配

点击 Start attack

 点击Length,按长度排列

双击查看详情(正确返回值)

 #作为一个注释,可以看出查询3个字段的时候,成功返回一个结果

由此可以判断关于id=1前面的查询也是查询3个字段

双击查看详情(错误返回值)

 由此判断,因为关于id前面的查询为3个字段的查询,所以id后面的查询也要3个字段才能成功匹配

八.将正确结果发送至repeater进行简单测试

单击Go

 将Value后面添加 from a(将表值设置为a)

知道了数据库名sqlinject,并说明a的表不存在

九.猜解表名

将请求发送至Intruder模块,并复制dosen't exist字符串作为一个标志符

打开Intruder--Positions如图 

 点击Clear $并将a设置为变量

打开Intruder--Payloads添加字典

打开Intruder--Options

 点击Clear清除,在Add处粘贴doesn't exist并添加

向上翻滚,点击start attack 

 

doesn't exist一栏,勾选状态说明返回值存在这一字符串

双击查看Request值为1的Payload

  '#'在mysql中作为一种注释符,它其后所有字符串都会被注释掉,所以出现在#之后的内容都可以忽略掉

使列表按dosen't exist排序

双击查看

 admin返回值正确,表名存在

 order返回值错误

admin为表名

将admin发送至Repeater

十.猜解列名

 将2改为a(猜想),点击Go

 发现不存在a这样的列名

Unknown column可以作为一个查询错误的标志符,复制此字符串

打开Raw界面,将此发送至Intruder模块

接下来的步骤相似于猜解表名(Payloads添加的是列名字典,Options添加的是Unknown column)

Start attack

排除带'#'语句,常用语句和错误返回后,发现Payload为id,username,password为合理列名

接下来返回Repeater--Params,将a改为password

 为了防止id=1阻碍我们的判断,将1改为-1,这时前面的查询会返回一个错误或不返回,后面的查询正常返回。

 用户账号后面是2的显示位,后面的字符串即password的值

在Value后添加limit子句来进行对数据的提取:在admin后添加 limit 0,1进行查询

结果如下:

 十一.批量提取数据

1.构造语句:id=1 union all select 1,concat(id,username,password),3 from admin#

目的:使二号位同时显示id,username,password

方法:运用concat函数

点击Go

 结果为1admin212....

1为字段数(id=1)

admin为username

212....为password

那么,如何将这三个结果分开显示呢——加隔断符号(ox7c)

将concat函数内容修改为(id,0x7c,username,0x7c,password)

Go

2.查看数据

将请求发送至Intruder模块

打开Intruder--Positions

清除变量,将limit后面的0设置为变量

 注:limit后面必须接整数常量。limit后跟两个参数:第一个参数指定返回记录行的偏移量,第二个参数指定返回记录行的最大数目

打开Payloads设置如图

Start attack 

双击查看Response详情 

3.提取数据

Intruder--Options--Grep Extract

勾选Extract....

清空

点击add

 勾选数据

 选中后点击OK

Start attack

 鼠标放置这一栏便是我们想要提取的纯净数据

4.保存数据

 Save--Result table

 保存文件

学习自i春秋网站:【i春秋】-专注网络安全_信息安全_白帽子的在线学习_教育_培训平台

萌新初学,如有任何问题请多多指教

posted @ 2021-08-23 11:51  轻闲一号机  阅读(14)  评论(0)    收藏  举报  来源