admin管理员组

文章数量:1561840

这些都是我在学习网安的过程中遇到的问题,都是一些比较基础的问题,
比如说哈,我上次愚安笔试题:php弱类型可能会引发哪些问题?那我不知道什么是php弱类型,就先去解决这个问题,最后记录下来,我发现这种方式学习还不错,可以借鉴

么是php弱类型
php并不会验证变量的类型,可以随时的转换类型,
php在大量内置函数以及基本结构中使用了很多松散的比较和转换,
防止程序中的变量因为程序员的不规范而报错,虽然提升了效率,但是引发了很多安全问题。

什么叫做WebShell ?
WebShell , 简称网页后门。简单来说它是运行在Web应用之上的远程控制程序。
webShell其实就是一张网页,由PHP、JSP、ASP、ASP.NET等这类web应用程序语言开发,但webShell并不具备常见网页的功能,例如登录、注册、信息展示等功能,一般会具备文件管理、端口扫描、提权、获取系统信息等功能。
常见的WebShell有哪些?
大马、小马、各种马…等
拥有较完整功能的webshell,我们一般称为大马。
功能简易的webshell称为小马。
除此之外还存在一句话木马、菜刀马、脱库马等等的名词,是对于webShell功能或者特性的简称。

2.sql注入闭合问题
有的不需要闭合比如数字型,有的需要,主要是因为源码里有一般是‘’包裹,所以需要闭合。

3.post型、get型传参?
get型:请求查询
https://api.github/search/users?q=JakeWharton //以?分割URL和传输数据,多个参数用&连接
get型会被浏览器主动缓存,下一次传输的数据相同就会返回缓存中的内容
get型中的url一般有长度限制,但并不是http协议限制的,主要是由浏览器和web服务器决定的,不同浏览器限制长度不同
原理:get型只产生一个tcp数据包,浏览器会将请求头和请求数据一并发出去,服务器响应200ok

post型:请求修改 因为要修改服务器的数据所以不符合安全和幂等性
post请求信息放在请求数据中,对请求信息没有长度限制
原理:post会产生两个tcp数据包,浏览器先将请求头发送给服务器,等服务器响应100continue
,浏览器再发送请求数据,服务器响应200 ok(返回数据)。

区别:本质上都是基于http协议的请求方法,而http又是基于tcp/ip的通信协议,所以get也好post也好实际上都是tcp链接,把它们区别开的目的主要是
为了方便管理

4.什么是100-continue?
1、http 100–continue用于客户端在发送POST数据给服务器前,
征询服务器情况,看服务器是否处理POST的数据,
如果不处理,客户端则不上传POST数据,如果处理,则POST上传数据。在现实应用中,通过在POST大数据时会使用100-continue协议。
2、客户端策略
1) 如果客户端有POST数据要上传,可以考虑使用100-continue协议。加入头{“Expect”: “100-continue”}
2) 如果没有POST数据,不能使用100-continue协议,因为这会让服务器造成误解。
3) 并不是所有的Server都会正确实现100-continue协议,如果Client发送Expect:100-continue消息后,在timeout时间内无响应,Client需要立马上传POST数据。
4) 有些Server会错误实现100-continue协议,在不需要此协议时返回100,此时客户端应该忽略。
3、服务端策略。
1) 正确情况下,收到请求后,返回100或错误码。
2) 如果在发送100-continue前收到了POST数据(客户端提前发送POST数据),则不发送100响应码

5.什么是payload:关键代码

6.什么是http 200 ok?
这是Http协议的响应信息。

Http/1.1 表示当前协议为Http。1.1是协议的版本。
200表示成功, OK表示好的

Server: Microsoft-IIS/6.0

X-Powered-By: ASP.NET

Content-Length: 4218
Content-Type: text/html
Cache-control: private

是服务器的信息,说明当前服务器是Microsoft-IIS/6.0

扩展资料

响应消息

响应消息的第一行为下面的格式:

HTTP-VersionSPStatus-CodeSPReason-PhraseCRLF

HTTP-Version表示支持的HTTP版本,例如为HTTP/1.1。Status-Code是一个三个数字的结果代码。Reason-Phrase给Status-Code提供一个简单的文本描述。

Status-Code主要用于机器自动识别,Reason-Phrase主要用于帮助用户理解。Status-Code的第一个数字定义响应的类别,后两个数字没有分类的作用。第一个数字可能取5个不同的值:

1xx:信息响应类,表示接收到请求并且继续处理

2xx:处理成功响应类,表示动作被成功接收、理解和接受

3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理

4xx:客户端错误,客户请求包含语法错误或者是不能正确执行

5xx:服务端错误,服务器不能正确执行一个正确的请求

响应头域允许服务器传递不能放在状态行的附加信息,这些域主要描述服务器的信息和Request-URI进一步的信息。
响应头域包含Age、Location、Proxy-Authenticate、Public、Retry-After、Server、Vary、Warning、WWW-Authenticate。

对响应头域的扩展要求通讯双方都支持,如果存在不支持的响应头域,一般将会作为实体头域处理。

典型的响应消息:

HTTP/1.0200OK

Date:Mon,31Dec200104:25:57GMT

Server:Apache/1.3.14(Unix)

Content-type:text/html

Last-modified:Tue,17Apr200106:46:28GMT

Etag:“a030f020ac7c01:1e9f”

Content-length:39725426

Content-range:bytes55******/40279980
上例第一行表示HTTP服务端响应一个GET方法。棕色的部分表示响应头域的信息,绿色的部分表示通用头部分,红色的部分表示实体头域的信息。

1.Location响应头

Location响应头用于重定向接收者到一个新URI地址。

2.Server响应头

Server响应头包含处理请求的原始服务器的软件信息。此域能包含多个产品标识和注释,产品标识一般按照重要性排序。

6.报文和数据包的区别?
报文是完整的传输数据文件,但是在传输报文的过程中是把报文分割成很多片段,
一个片段就可以叫做一个数据包·

7.什么是whois信息?
1、whois域名查询是什么意思?

whois查询是一个用来查询域名注册状态及域名注册信息的数据库。大家通过whois查询,可以得知域名是否被注册以及域名所有者是谁,域名注册商在哪,对域名注册服务机构而言,通过whois查询工具,还能够确认域名数据是否已经正确注册到所属的服务机构。

2**、查域名whois信息用什么工具?**

可通过聚查、站长工具等第三方平台查询,以聚查为案例介绍查域名whois信息查询的流程,百度搜索聚查网,进入聚查首页后找到whois查询,进入输入域名即可查询。

3、whois查询结果代表什么意思?

关于域名状态的解释:

cn域名各个状态说明:

以client开头的状态表示由客户端(注册商)可以增加的状态

以server开头的状态表示服务器端(CNNIC)操作增加的状态

既不以client开头也不以server开头的状态由服务器端管理

域名的状态解释:

ok 正常状态

inactive 非激活状态(注册的时候没有填写域名服务器,不能进行解析)

clientDeleteProhibited 禁止删除

serverDeleteProhibited 禁止删除

clientUpdateProhibited 禁止修改

serverUpdateProhibited 禁止修改

pendingDelete 正在删除过程中

pendingTransfer 正在转移过程中

clientTransferProhibited 禁止转移

serverTransferProhibited 禁止转移

clientRenewProhibited 禁止续费

serverRenewProhibited 禁止续费

clientHold 停止解析

serverHold 停止解析

pendingVerification 注册信息正在确认过程中

什么是mysql的udf?
udf是MySQL的拓展接口,可理解成用户自定义函数

什么是数据库路径和数据库安全路径?
可以理解为绝对路径和相对路径

什么是ssh公匙?
公钥和私钥
  其次我们还要了解公钥和私钥的概念和作用。
  在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。
  公钥私钥的原则:
一个公钥对应一个私钥。
密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。
如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。
如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。
  非对称密钥密码的主要应用就是公钥加密和公钥认证,而公钥加密的过程和公钥认证的过程是不一样的,下面我就详细讲解一下两者的区别。
  基于公开密钥的加密过程
  比如有两个用户Alice和Bob,Alice想把一段明文通过双钥加密的技术发送给Bob,Bob有一对公钥和私钥,那么加密解密的过程如下:
Bob将他的公开密钥传送给Alice。
Alice用Bob的公开密钥加密她的消息,然后传送给Bob。
Bob用他的私人密钥解密Alice的消息。
  上面的过程可以用下图表示,Alice使用Bob的公钥进行加密,Bob用自己的私钥进行解密。

基于公开密钥的认证过程
  身份认证和加密就不同了,主要用户鉴别用户的真伪。这里我们只要能够鉴别一个用户的私钥是正确的,就可以鉴别这个用户的真伪。
  还是Alice和Bob这两个用户,Alice想让Bob知道自己是真实的Alice,而不是假冒的,因此Alice只要使用公钥密码学对文件签名发送给Bob,Bob使用Alice的公钥对文件进行解密,如果可以解密成功,则证明Alice的私钥是正确的,因而就完成了对Alice的身份鉴别。整个身份认证的过程如下:
Alice用她的私人密钥对文件加密,从而对文件签名。
Alice将签名的文件传送给Bob。
Bob用Alice的公钥解密文件,从而验证签名。
  上面的过程可以用下图表示,Alice使用自己的私钥加密,Bob用Alice的公钥进行解密。

怎样判断网站脚本呢?
除了文件扩展名以外的方法:
1,查看网页源代码如果,找到一些表单页面,最好是复选框的表单,看,如果这里有中括号的,一般情况下是PHP开发的!
2,看源代码经常看见一坨SHI一样的信息



<input type=“hidden” name="__VIEWSTATE" id="__VIEWSTATE" 后面一长串!
一般就是ASP.NET开发的
3,通过查看服务器应答串,查看服务器类型等信息,也可以很好分别!
其他的只有结合扩展名来判断了

本文标签: 网络安全涉及到知识