信息安全web安全学习01

第一节课——概念名词

一、

域名:网站的名字,可以在第三方注册(万网)
域名发现对安全的意义:当多个网站之间具有相同的映射关系,即提供多种渗透的可能性
DNS:实现域名到IP的映射,其中DNS服务器为全球公有服务器
POST:实现网站的绑定,重定向
CDN:缓存结点技术,对安全测试具有干扰作用

二、

常见的脚本语言:asp,php,jsp,javaweb等等
不同脚本语言,语法不同,安全不同。

三、

后门:攻击者方便后续控制获得相关权限而留下的途径通道

四、

web的组成构架模型:
网站源码:分脚本类型、分应用方向(决定那些漏铜可能存在)
{ web源码类对应漏铜:SQL注入、上传、xss、代码执行、变量覆盖等}
操作系统:window、Linux(决定攻击方式和漏洞的类型)
中间件(搭建平台):apache、Tomcat等
数据库:access、MySQL
为什么渗透以web为主?应用广泛

第二节课——数据包拓展

一、

https比http多了加密,更安全更麻烦

二、

强调http返回码的重要性
200存在文件
403存在文件夹
3xx均可能存在
404不存在文件及文件夹
500均可能存在

三、

实验,手动调试burp抓取网页的https包
转载burpsuite拦截https数据包(Firefox)

四、

设置手机模拟器的网络代理,接口与burp一致,使用burp抓包进行实验
任意选用一款app的点击界面有如下的包

GET /geocoder/v2/?output=json&location=32.00125%2C113.56358166666665&ak=XYUPDnaR4Fp1LbU7GT2L7VIK HTTP/1.1
Accept-Encoding: gzip, deflate
Referer: http://nativeapp.toutiao.com
x-vc-bdturing-sdk-version: 2.0.0
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; MI 9 Build/NMF26X) NewsArticle/8.2.8 tt-ok/3.10.0.2
X-Khronos: 1641722284
X-Gorgon: 040460290001b5f4fe7c79beb36e3aaeaee269cb0a2631932eef
Host: api.map.baidu.com
Connection: close

而通过相同的地址在电脑端访问出现错误,发送的网络包如下

GET / HTTP/1.1
Host: nativeapp.toutiao.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1

对比两个包不难看出,存在user-agent等信息不同。再使用burp抓取电脑端发送的包,并改为app发送的包,能够在电脑端返回信息(与app端返回信息相同)
即“error code: 1001”
故可以得出结论,电脑端访问和APP端访问必须注意包的格式问题!!

五、

渗透测试发现出现问题,很有可能是在数据包上出现的问题,可以尝试采用burp对数据包进行修改
常见的修改会涉及到的参数解释如下:

请求头包含:

Accept:指浏览器或其他客户可以接爱的MIME文件格式。Servlet可以根据它判断并返回适当的文件格式。

User-Agent:是客户浏览器名称

Host:对应网址URL中的Web名称和端口号。

Accept-Langeuage:指出浏览器可以接受的语言种类,如en或en-us,指英语。

connection:用来告诉服务器是否可以维持固定的HTTP连接。http是无连接的,HTTP/1.1使用Keep-Alive为默认值,这样,当浏览器需要多个文件时(比如一个HTML文件和相关的图形文件),不需要每次都建立连接

Cookie:浏览器用这个属性向服务器发送Cookie。Cookie是在浏览器中寄存的小型数据体,它可以记载和服务器相关的用户信息,也可以用来实现会话功能。

Referer:表明产生请求的网页URL。如比从网页/icconcept/index.jsp中点击一个链接到网页/icwork/search,在向服务器发送的GET/icwork/search中的请求中,Referer是http://hostname:8080/icconcept/index.jsp。这个属性可以用来跟踪Web请求是从什么网站来的。

User-Agent:是客户浏览器名称。

Content-Type:用来表名request的内容类型。可以用HttpServletRequest的getContentType()方法取得。

Accept-Charset:指出浏览器可以接受的字符编码。英文浏览器的默认值是ISO-8859-1.

Accept-Encoding:指出浏览器可以接受的编码方式。编码方式不同于文件格式,它是为了压缩文件并加速文件传递速度。浏览器在接收到Web响应之后先解码,然后再检查文件格式。

get方法的请求头:get方法的请求头
post方法的请求头:

post方法的请求头
相比之下多了content-Type 和 Content-Length
Content-Type:表示的是请求报文体的 MIME 类型 ,注:GET的请求消息体是空的 所以不需要指定消息体的MIME类型
Content-Length:表示的是 post的数据的长度
例如请求数据
综上
第一行为http请求行,包含方法,URI 和http版本
1-7为请求头,包含浏览器,主机,接受的编码方式和压缩方式,
第8行表示一个空行 表示请求头结束 这个空行是必须的,
第9行是数据体,比如是需要查询的信息。

http响应体由三部分组成:
http响应由三个部分组成分别是状态行,响应头,响应正文。
状态行是由:HTTP-Version+Status-Code+Reason-Phrase
比如:HTTP/1.1 200 ok
分别表示http版本 + 状态码 + 状态代码的文本描述

状态码:
1xx 指示信息–表示请求已接收,继续处理 2xx 成功–表示请求已被成功接收、理解、接受
3xx 重定向–要完成请求必须进行更进一步的操作 4xx 客户端错误–请求有语法错误或请求无法实现。
5xx 服务器端错误–服务器未能实现合法的请求。

响应头:包含服务器类型,日期,长度,内容类型等
Server:Apache Tomcat/5.0.12 Date:Mon,6Oct2003 13:13:33 GMT Content-Type:text/html Last-Moified:Mon,6 Oct 2003 13:23:42 GMT Content-Length:112 响应正文响应正文就是服务器返回的HTML页面

第三节课——搭建安全拓展

一、

域名IP目录解析安全问题:
一般网站的搭建支持ip、域名的访问,而IP可以访问到根目录、域名可以访问的到根目录下的某个文件目录——故ip扫描可能得到更多信息

常见文件后缀解析对应安全:
可使用网站搭建的ISAPI扩展配置,实现定义一些后缀名文件的运行方式

后门安全,防护例如冰蝎的工具:
约束来宾用户(Internet)的本地访问权限。因为浏览器默认匿名访问使用的是“来宾用户”
在主目录的执行权限中把“纯脚本”设置“无”,自然无法通过页面访问执行文件,故无法执行冰蝎
——绕过,在一定权限的前提下,将后门脚本文件放到合适的文件目录下(例如可执行脚本的、有权限的目录)

二、

推荐一款基于中间件的靶场使用
环境搭建:
Download project
wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip
unzip vulhub-master.zip
cd vulhub-master

Enter the directory of vulnerability/environment
cd flask/ssti

Compile environment
docker-compose build

Run environment
docker-compose up -d

web中间件常见漏洞总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值