本文主要是介绍冬令营线上直播学习笔记3——SQL注入盲注攻击,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、理论知识
1.POST方法和GET方法
这其实是一个老生常谈的问题,我记得大一上的网页设计课上老师就反复强调过这两者的区别。
先放一下专业性的答案:
1.get和POST的本质区别
Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求
2.服务器端获取值的方法
get方式提交的数据,服务器端使用request.QueryString获取变量的值
post方式提交的数据,服务器端使用request.Form获取数据
3.安全性
get方式安全性低,post方式较安全。但是post方式执行效率要比get方式差一些。
4.机制
get是把参数数据队列加到提交表单的action属性所指的URL中,如:http://www.xxx.com?sessonid=db23434&name=hongten&age=20。在URl中,值和表单南日各个字段一一对应,并且这些在URl中对用户来说是可见的,即用户时可以看到的。如:name=hongten。
post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到action属性所指的URL地址,对于用户来说,这是透明的。
5.大小
URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持
理论上讲,POST是没有大小限制的,HTTP协议规范也没有进行大小限制,说“POST数据量存在80K/100K的大小限制”是不准确的,POST数据是没有限制的,起限制作用的是服务器的处理程序的处理能力。
那我在这里简单明了的从搞安全的角度总结一下:
GET方法是在URL上输入payload;
POST方法是在表单上(就是页面上要你输入内容的框框)输入payload。
2.盲注
1.所谓盲注,就是后台开放者屏蔽了错误的信息,我们看不到任何的反馈提示,我们只能通过猜测。
2.盲注有两种类型,布尔盲注和时间盲注。
布尔盲注是根据页面是否报错来判断猜测是否正确;时间盲注是通过判断页面响应是否有延迟来判断猜测是否正确(正确则页面回显延时,错误则页面立刻回显)。
3.常用的函数
length():返回字符串m的长度,用于判断长度。例如:length(database())>=8
substr():取字符串m的左边第一个字符,1个字子长,用于判断字符。例如:substr(database(),1,1)=‘s’,substr(database(),2,1)=‘e’
- substr()函数有三个参数位置,“database()”是指猜测的是数据库名,第一个“1”是指猜测数据库名的第一个字母,第二个“1”
这篇关于冬令营线上直播学习笔记3——SQL注入盲注攻击的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!