我今天随机登录我的网站并碰巧注意到了这一点:
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进入数据库吗?
答案 0 :(得分:2)
我认为重要的是要认识到无论您做多么安全,您的网站都可能受到攻击。这就是为什么我们让事情变得安全,对吗?第一条规则是不要惊慌!
仅仅因为某人搜索http://example.com/q=<script>alert('xss')</script>
并不意味着您容易受到跨网站脚本攻击。他们正在检查你是否。
仅仅因为有人试图创建用户名' OR 1=1--
并不意味着您有SQL注入漏洞。
输入此文本的人/机器人正在探究您是否容易受到SQL注入攻击。 CONCAT_WS(CHAR(32,58,32),user(),database(),version())
只是尝试盲注SQL,看看他们是否可以插入一些内容并让数据库返回数据。这些信息不是特别有价值,但他们可以得到它的事实。接下来要做的就是根据动机修改或转储数据库(或者甚至只是告诉你漏洞)。
我们无法真正告诉您,如果您从所提供的信息中获取任何信息,您是否容易受到攻击。只是有人试图探测您的网站是否存在漏洞,这种情况一直发生在许多人身上。
所以基本上,用户正在测试你是否容易受到攻击(不一定是恶意的),但我们无法告诉你你的系统是否容易受到攻击。这取决于你如何处理该字符串。
答案 1 :(得分:0)
在Zachrip和Marc B的评论的帮助下:
他正在尝试SQL注入你。 Javascript本身无法触及 你的数据库,但翻译的字符串可以做一些事情(它会 使用这些函数连接字符串)。 - Zachrip
这是一次sql注入攻击尝试。它会透露有关您的详细信息 数据库和用于连接它的帐户。例如root: mysql : 5.5.56
- Marc B
(用户Rocket Hazmat指出,CHAR(32,58,32)
转换为' : '
)
为了您的关注(非常关注):
这本身不会让入侵者能够进入你的数据库。尽管如此,这将为攻击者提供 - 可能/可能 - 有价值的信息。随着更多信息,更多的窗口开放供开发。