以下哪个poc为永真式注入 payload:username[$ne]=1&password[$ne]=1 username=root, $or: [ {}, { 'a':'a&password=' } ] username=1&password=1;return true; username=2′});db.users.drop();db.user.find({‘username’:’2
时间: 2024-03-15 12:45:47 浏览: 197
第79天:Python开发-sqlmapapi&Tamper&Pocsuite1
以下 POC 为永真式注入:
```
username=2′});db.users.drop();db.user.find({‘username’:’2
```
这是一个 MongoDB NoSQL 注入的 POC,通过在用户名字段中注入 `$where` 操作符,绕过了用户名和密码的验证,然后在数据库中执行了一个恶意的命令,删除了 `users` 集合,并在 `user` 集合中查找了 `username` 为 `2` 的文档,因此会永久返回 `true`。
其他三个 POC 都不是永真式注入。第一个 POC 中使用了 `$ne` 操作符,表示不等于,因此如果用户名和密码都不等于 `1`,则会返回 `true`,但这不是永真式注入,因为用户名和密码可以不相等。第二个 POC 中使用了 `$or` 操作符,表示逻辑或,但是并没有注入语句,因此也不是永真式注入。第三个 POC 中注入了 `1&password=1`,但是这并不是永真式注入,因为用户名和密码必须匹配才能返回 `true`。
阅读全文