这个用户试图破解什么,这可能吗?

What was this user trying to hack and is it possible?

我今天偶然访问了我的网站,碰巧注意到了这一点:

String.fromCharCode(67, 79, 78, 67, 65, 84, 95, 87, 83, 40, 67, 72, 65, 82, 40, 51, 50, 44, 53, 56, 44, 51, 50, 41, 44, 117, 115, 101, 114, 40, 41, 44, 100, 97, 116, 97, 98, 97, 115, 101, 40, 41, 44, 118, 101, 114, 115, 105, 111, 110, 40, 41, 41)

有人尝试输入字符串。糊涂了,查了下才知道可以翻译

CONCAT_WS(CHAR(32,58,32),user(),database(),version())

这些信息揭示了什么?您真的可以从 javascript 进入数据库吗?

借助 Zachrip 和 Marc B 的评论:

He was attempting to SQL inject you. Javascript itself can't touch your DB, but that translated string can do some things (it would concatenate a string using those functions). – Zachrip

it's an sql injection attack attempt. it'd reveal details about your DB and the account used to connect to it. e.g. root: mysql : 5.5.56 – Marc B

(由用户 Rocket Hazmat 指出,CHAR(32,58,32) 转换为 ' : '

还有您的关心(非常关心):

这本身不会使入侵者能够进入您的数据库。不过,这将为 - maybe/probably - 攻击者提供有价值的信息。有了更多信息,更多 windows 可以利用。

我认为重要的是要认识到,无论您的网站多么安全,它都可能会受到攻击。这就是我们确保事情安全的原因,对吧?第一条规则是不要惊慌!

仅仅因为有人搜索 http://example.com/q=<script>alert('xss')</script> 并不意味着您容易受到跨站点脚本攻击。他们正在检查你是否是。

仅仅因为有人试图使他们的用户名 ' OR 1=1-- 并不意味着您有 SQL 注入漏洞。

输入此文本的 person/bot 正在试探您是否容易受到 SQL 注入攻击。 CONCAT_WS(CHAR(32,58,32),user(),database(),version()) 只是尝试盲目 SQL 注入,看看他们是否可以插入一些东西并将数据库获取到 return 数据。这些信息不是特别有价值,但他们可以获得它的事实。接下来要做的是根据他们的动机修改或转储您的数据库(或者甚至可能只是告诉您有关漏洞的信息)。

我们无法仅根据所提供的信息真正告诉您您是否容易受到任何攻击。只是有人试图探测您网站的漏洞,这种情况一直发生在很多人身上。

所以基本上,用户是在测试你是否容易受到攻击(不一定是恶意的),但我们无法告诉你你的系统是否对此很脆弱。这将取决于您如何处理该字符串。