在前面的 hack 语句中: 1UPDATE table SET views = '1' WHERE id = -2441 OR (ORD(MID((SELECTIFNULL(CAST(FirstName AS CHAR),0x20) FROM nowamagic.`tb2` ORDER BY id LIMIT 1,1),2,1))>112)# 我们注意到它用了 MySQL 自带的函数 MID,那么它的作用是什么呢? MID()函数 SQL MID() 函数用于得到一个字符串的一部分。这个函数被MySQL支持,但不被MS SQL Server和Oracle支持。在SQL Server, Oracle 数据库中,我们可以使用 SQL SUBSTRING函数或者 SQL SUBSTR函数作为替代。 MID() 函数语法为: 1SELECT MID(ColumnName, Start [, Length]) 2FROM TableName 注:字符串从1开始,而非0,Length是可选项,如果没有提供,MID()函数将返回余下的字符串。 举个简单的例子吧: 1mysql> SELECT MID('NowaMagic', 5, 5); 2+------------------------+ 3| MID('NowaMagic', 5, 5) | 4+------------------------+ 5| Magic | 6+------------------------+ 71 row in set 就这么简单的一个函数,讲完了~