我是靠谱客的博主 健忘小蚂蚁,最近开发中收集的这篇文章主要介绍渗透相关问题(二),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.报错注入原理是什么?
由于后台没有对数据库的信息做过滤,会输出到前台显示,那么我们就可以利用制造报错函数,将查询语句带入到数据库中,以报错信息显示出来,一般是不以网页标签和xpath的路径格式来制造报错。

2.常用哪些函数来制造报错?
extractvalue()、updatexml()、floor()、exp()。

3.updatexml()函数制作报错原理是什么?
Updatexml函数的第二个参数应当是填写规范的xpath路径,当用户在这个字段中使用concat函数时,cancat函数会将它所执行的sql查询结果和报错信息进行拼接。这就是updatexml的攻击注入原理。

4.updatexml()、extractvalue()、floor() 的payload语法如何构造?
id=1’ and updatexml(1,concat(0x7e,(database()),0x7e),1) --+
id=1’ and extractvalue(1,concat(’~’,(select database())))–+
id=1’ and select count(*),(concat(floor(rand(0)*2),(select database())))x from users group by x --+

5.substring(string,5,10)是什么意思?
从字符串的第五个字符开始,往后取10个字符。

6.万能密码原理是什么?
利用sql语法的注释或者逻辑判断关键字进行sql查询的重新构造,使sql查询的条件为真,达到绕过登录或者密码输入的环节。

7.访问一个网站,出现404错误?请问是什么问题?
访问的页面不存在,或者请求了错误的URL,是客户端的问题。

9.布尔盲注的原理是什么?
布尔盲注一般适用于页面没有回显字段(不支持联合查询),且web页面返回True 或者 false,构造SQL语句,利用and,or等关键字来其后的语句 true 、 false使web页面返回true或者false,从而达到注入的目的来获取信息

8.时间盲注的原理是什么?
利用sleep()或benchmark()等函数让mysql执行时间变长,经常与if(expr1,expr2,expr3) 语句结合使用,通过页面的响应时间来判断条件是否正确。

9.常用的时间盲注的函数有哪些?
sleep()、benchmark(),配合if函数使用

10.时间盲注如何去判断?
通过构造and sleep(5)来判断是否存在页面响应时间延迟,如果延迟,则可以使用时间盲注
‘ and sleep(5)–+判断类型

11.布尔盲注的payload的构造方法?
判断数据库长度:?id=1 and if(length(database())>=5,sleep(5),1)
数据库名:1 and substr(database(),1,1)=‘a’
爆表名:1 and substr((select table_name from information_schema.tables where table_schema=‘xxxx’ limit 0,1),1,1)=‘a’
爆字段:1 and substr((select column_name from information_schema.columns where table_schema=‘xxxx’ and table_name=‘xxxx’ limit 0,1),1,1)=‘a’
爆管理员账户和密码:
1 and substr((select xxxx from xxxx.xxxx limit 0,1),1,1)=‘a’
1 and substr((select xxxx from xxxx.xxxx where name=‘xxxx’),1,1)=‘a’

12.堆叠注入原理是什么?
在sql语句中;代表一条sql语句的结束,然后再分号后面构造下一条语句,我们可以通过这样的方式对数据库进行堆叠注入。

13.产生堆叠注入的条件是什么?
在MySQL数据库中有mysql_sqli_query()函数,该函数允许用户使用多条语句同时进行查询。当网站可以使用这个函数时,攻击者就可以将多条查询语句进行注入。

14.cookie和session的区别?
cookie是在客户端,session是在服务端。

15.数据提交请求的方法有哪些?
get、post、trance、connect、head、put、delete、options

16.浏览器向服务器提交请求的request对象有哪些?
Stra=Request.QueryString[]
Stra=Request.Form[]
Stra=Request.Cookie[]
Stra=Request.ServerVariables
Stra=Request.ClientCertificate

17.http头部注入的位置有哪些?
1)在请求行可以使用url的提交进行注入
2)可以在请求头的字段参数中进行注入,一般是x-forwarded-for、refere、user-agent字段进行注入,因为网页可能会调用这些字段的参数。

18.http头部注入的方法如何实现?
直接对可能会被调用的字段进行注入,采用字符型注入法进行数据的爆出。

19.宽字节注入原理是什么?
由于开发者调用了Addslashse()函数,该函数会对非法字符进行转义,以达到阻止用户的错误输入。但是,当我们使用编码格式的形式进行提交时,数据库会将函数的转义字符和我们提交的编码字符一起转换成其他字符,这就可以绕过该函数的过滤,达到注入目的。

20.SRC平台是什么?有哪些SRC平台?
漏洞响应平台,你可以提交你的漏洞,然后他们会给你一些钱或者奖。
补天漏洞响应平台、漏洞银行、阿里云漏洞响应平台、i春秋SRC部落、腾讯应急响应中心等等

21.如果一个网站,输入值得地方过滤了一撇。请问有什么办法?
通过宽字节注入

22.SQL注入中,绕过方法有哪些?
注释符号绕过、大小写绕过、内联注释绕过、双写关键字绕过、特殊编码绕过

23.如何防护SQL注入攻击?
关闭错误提示;
对特殊字符或者是敏感词汇进行过滤或者是转换为带有反斜线的转义字符。
使用安全的API
使用白名单来规范化输入验证方法

24.如果我们要对输入点进行or、=号、and、过滤,请问代码该如何编写?
id=preg_replace(‘/or/i’,””,id);
id=preg_replace(‘/and/i’,””,id);
id=preg_replace(‘/[=]/’,””,id);

25.mysqli_multi_query()函数和mysqli_query()函数得区别?
mysqli_multi_query()函数可以同时执行多个针对数据库的查询,mysqli_query()则是只能单独进行查询。

26.web应用有哪几部分组成??
前端程序 数据库 后台程序

27.堆叠和union注入有什么区别?
区别就在于union 或者union all执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句8.

28.目前已知哪些版本的容器有解析漏洞,具体举例??
IIS 6.0
/xx.asp/xx.jpg "xx.asp"是文件夹名
IIS 7.0/7.5
默认Fast-CGI开启,直接在url中图片地址后面输入/1.php,会把正常图片当成php解析
Nginx
版本小于等于0.8.37,利用方法和IIS 7.0/7.5一样,Fast-CGI关闭情况下也可利用。
空字节代码 xxx.jpg.php
Apache
上传的文件命名为:test.php.x1.x2.x3,Apache是从右往左判断后缀

29.WAF有哪些功能?
WAF可以对访问请求进行控制,可以主动识别、阻断攻击流量,就如现在智能化的AI,可以发觉安全威胁对其主动进行防御。不限制于被动状态下的规则和策略去防护。

30.WAF如何判断扫描器?
扫描器指纹(head字段/请求参数值等);
单IP+ cookie某时间段内触发规则次数;
隐藏的链接标签();
Cookie植入;
验证码验证;
单IP请求时间段内Webserver返回http状态404比例。

31.如果后台对输入字符进行了转义?请问如何绕过
宽字符绕过,注释符号绕过、大小写绕过、内联注释绕过、双写关键字绕过、特殊编码绕过

最后

以上就是健忘小蚂蚁为你收集整理的渗透相关问题(二)的全部内容,希望文章能够帮你解决渗透相关问题(二)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部