我尝试黑网测试一个网站,网址格式为http://example.com/a/[integer_value]/something_else
尝试将[integer_value]更改为引号(double和single)时,字符。它没有任何影响。但是,当[integer_value]大于UNSIGNED BIGTINT时,会抛出一个SQL错误。这就是说:
如果0 <= [integer_value]&lt; =(UNSIGNED BIGTINT,即2 ^ 64-1)=&gt;没有错误
if [integer_value]&gt; UNSIGNED BIGTINT =&gt;错误:例如&#34;您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以便在#18; 18446744073709551616&#39; 18446744073709551616附近使用正确的语法。在第1行&#34;
有什么想法吗?
这可以被利用吗?
答案 0 :(得分:1)
这可能无法直接利用,如果
但是,如果 s那些是。当你进行黑盒测试时,原则上你无法知道它们是否属实。
另外,当您的系统抛出错误时,它会显示有关网站工作方式的信息。 脏线上也不明智,也称为公共互联网。
在将这些值交给MySQL服务器之前,最好先对这些值进行一些完整性检查。例如,您可以尝试将传入的字符串转换为64位数字。如果转换失败,您可以在此处停止。或者,您可以检查数字中的位数,并拒绝超出应用程序要求的数字。
您的网站应该使用简单的404 not found
响应此类网址,就像它无法处理的任何其他请求的网址一样。
你不是偏执狂。高兴的,非常聪明的罪犯正在努力打造你的网站。