如何将文件放到/root成功率100%的软件中

微博开放接口的调用,如发微博、关注等,都是需要获取用户身份认证的。目前微博开放平台用户身份鉴权主要采用的是OAuth2.0。另外,为了方便开发者开发、测试自己的应用,我们还提供了Basic Auth的身份鉴权方式,但Basic Auth仅适用于应用所属的开发者自己调用接口。
OAuth2.0较1.0相比,整个授权验证流程更简单更安全,也是未来最主要的用户身份验证和授权方式。
关于OAuth2.0协议的授权流程可以参考下面的流程图,其中Client指第三方应用,Resource Owner指用户,Authorization Server是我们的授权服务器,Resource Server是API服务器。
开发者可以先浏览OAuth2.0的接口文档,熟悉OAuth2.0的接口及参数的含义,然后我们根据应用场景各自说明如何使用OAuth2.0。
请求用户授权Token
获取授权过的Access Token
授权信息查询接口
授权回收接口
OAuth1.0的Access Token更换至OAuth2.0的Access Token
1、OAuth2.0授权无需申请,任何应用都可以使用。如果开发者需要更长的授权有效期参考本文档授权有效期部分。
2、如果你是站外网页应用或客户端应用,出于安全性考虑,需要在平台网站填写redirect_url(授权回调页),才能使用OAuth2.0,填写地址:“我的应用&应用信息&高级信息”,对于客户端,我们也提供了默认的回调页地址。详细请查看授权页功能部分。
新版授权页改变了之前页面信息元素过多,对用户使用带来干扰的问题,登录和授权这两个行为已在新版中分离,用户能够更好地理解帐号登录和授权的过程,也为未来更多的功能带来承载空间。
当前一个最完整的授权分为三个步骤:登录-普通授权-高级授权(SCOPE)。但这三个步骤并不是必然出现,当用户的微博处于登录状态时,页面会自动跳转到普通授权页,“高级授权”同样也不是必须,如果开发者不申请SCOPE权限,系统会自动跳过此步骤,回调应用。我们在灰度测试中统计发现,只要合理的使用高级授权,开发者完全不必担心增加操作所带来的页面流失率问题,相反,一个清晰的授权体验更能获取用户的信任。
与此同时,授权项将会变的更加有条理,之前的普通权限将作为基础服务,用户不再有感知,与用户隐私相关的会归到高级授权,用户在授权时有权利逐条取消,进一步增强了隐私控制。
开发者需要根据各自的应用场景,选择适用的OAuth2.0授权流程:
1、PC端和Web网站,请参考:Web网站的验证授权(Authorization Code)
2、移动端应用可直接使用官方移动SDK,通过呼起微博客户端(未安装微博客户端的会呼起H5授权页)方式授权
3、H5轻应用,请参考
Web网站的授权
1. 引导需要授权的用户到如下地址:
/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
2. 如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE
3. 换取Access Token
/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE
其中client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET可以使用basic方式加入header中,返回值
&access_token&: &SlAV32hkKG&,
&remind_in&: 3600,
&expires_in&: 3600
4. 使用获得的Access Token调用API
移动应用的授权
移动应用(主要指Mobile Native App),建议使用官方提供的支持SSO授权的SDK, 可以大大简化授权流程开发,降低开发成本。
需要说明的是,移动应用请使用上的授权接口,普通的发博,评论等资源API依旧调用接口。
微博开放平台的OAuth2.0授权机制下,第三方获取到的access_token是有过期时间的,通常过期时间为30天。
授权级别和OAuth2.0 access_token有效期对应表:
授权有效期
1、只有未过审核的应用才处于测试级别。
2、应用所属开发者授权应用时,有效期为5年。
你可以在 “我的应用&接口管理&授权机制” 上查询当前应用的授权级别。也可以在这里申请提高授权有效期。
开发者可以通过两种方式计算access_token的实效时间:
1、用户授权时,oauth2/access_token接口返回的expires_in值就是access_token的生命周期;
2、从上述对应表中,找到应用所对应的授权有效期,过期时间 =
用户授权时间 + 授权有效期;
第三方开发应用需要具备一定的健壮性,调用接口时判断接口的返回值,如果用户的access_token失效,需要引导用户重新授权。
失效原因有以下几个:
1、用户取消了对应用的授权;
2、access_token自然过期;
3、用户修改了密码,冻结了对应用的授权;
4、微博发现用户帐号被盗,冻结了用户对应用的授权;
如果用户在授权有效期内重新打开授权页授权(如果此时用户有微博登录状态,这个页面将一闪而过),那么微博会为开发者自动延长access_token的生命周期,请开发者维护新授权后得access_token值。
除此之外,我们也提供了通过 Refresh Token 刷新的方式来延续授权有效期,但需要注意的是:只有使用微博官方移动SDK的移动应用,才可以从SDK的方法中获取到 Refresh Token。
Refresh Token 是 Access Grants 的一种,在获取 Access Token 时,认证服务器将返回相应的 Refresh Token,如果 Access Token 过期,就可以用 Refresh Token 去刷新。
Refresh Token 也是有有效期的,Refresh Token 的有效期目前为30天,在有效期内随时可以刷新。
通过 Refresh Token 刷新得到的新的 Access Token ,其有效期等同于原来的有效期,即原来 Access Token 的有效期是30天,则新获得的也是30天。
简单来说就是对于使用了微博移动SDK的移动应用,授权(Access Token)30天有效,30天内可续,从刷新时间点算起重新得到30天有效期。
1、当你是使用微博官方移动SDK的移动应用时,授权返回access_token的同时,还会多返回一个refresh_token:
&access_token&: &SlAV32hkKG&,
&remind_in&: 3600,
&expires_in&: 3600
&refresh_token&: &QXBK19xm62&
2、当你调用API接口返回 Access Token 过期时,你可以调用 oauth2/access_token 并传入 refresh_token:
/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=refresh_token&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&refresh_token=…
&access_token&: &SlAV32hkKG&,
&expires_in&: 3600
3、使用新获得的Access Token调用API
使用OAuth2.0调用API接口有两种方式:
1、 直接使用参数,传递参数名为 access_token
/2/statuses/public_timeline.json?access_token=abcd
2、在header里传递,形式为在header里添加 Authorization:OAuth2空格abcd,这里的abcd假定为Access Token的值,其它接口参数正常传递即可。
注:所有的微博开放平台接口都部署在域下,仅有移动端的授权接口在域。
Scope是OAuth2.0新版授权页提供的一个功能,通过scope,平台将开放更多的微博核心功能给开发者,同时也加强用户隐私保护,提升了用户体验,用户在新OAuth2.0授权页中有权利选择赋予应用的功能。
Scope开放的接口文档:
通常Mobile Native App没有服务器回调地址,您可以在应用控制台授权回调页处填写平台提供的默认回调页,该页面用户不可见,仅用于获取access token。
OAuth2.0客户端默认回调页:
授权页会默认读取当前用户的微博登录状态,如果你想让用户重新登录,请在调用authorize接口时传入参数:forcelogin=true,默认不填写此参数相当于forcelogin=false。
开发者可以在应用控制台填写取消授权回调页,当用户取消你的应用授权时,开放平台会回调你填写的这个地址。并传递给你以下参数,source:应用appkey,uid :取消授权的用户,auth_end :取消授权的时间
OAuth是一种国际通用的授权方式, OAuth2.0的官方技术说明可参看
如果你仍在使用,请进入浏览相关文档。
微博OAuth2.0实现中,授权服务器在接收到验证授权请求时,会按照OAuth2.0协议对本请求的请求头部、请求参数进行检验,若请求不合法或验证未通过,授权服务器会返回相应的错误信息,包含以下几个参数:
error: 错误码
error_code: 错误的内部编号
error_description: 错误的描述信息
error_url: 可读的网页URI,带有关于错误的信息,用于为终端用户提供与错误有关的额外信息。
错误信息的返回方式有两种:
1. 当请求授权Endpoint:
时出现错误,返回方式是:跳转到redirect_uri,并在uri
的query parameter中附带错误的描述信息。
2. 当请求access token endpoing:
时出现错误,返回方式:返回JSON文本。例如:
&error&: &unsupported_response_type&,
&error_code&: 21329,
&error_description&: &不支持的ResponseType.&
OAuth2.0错误响应中的错误码定义如下表所示:
错误码(error)
错误编号(error_code)
错误描述(error_description)
redirect_uri_mismatch
重定向地址不匹配
invalid_request
请求不合法
invalid_client
client_id或client_secret参数无效
invalid_grant
提供的Access Grant是无效的、过期的或已撤销的
unauthorized_client
客户端没有权限
expired_token
unsupported_grant_type
不支持的 GrantType
unsupported_response_type
不支持的 ResponseType
access_denied
用户或授权服务器拒绝授予数据访问权限
temporarily_unavailable
服务暂时无法访问
appkey permission denied
应用权限不足
OAuth2.0相关问题,查看
文档更新时间:控制web系统越权访问的方法及装置制造方法
控制web系统越权访问的方法及装置制造方法
【专利摘要】本发明公开一种控制web系统越权访问的方法及装置,接收到用户发送的页面访问请求时,根据预设的识别策略,从用户的页面访问请求中提取该用户对应的用户唯一标识信息,同时提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数,将所述表单及不可修改参数与所述用户唯一标识信息绑定后记录到参数列表中;检测到用户提交请求页面的表单时,将所述请求页面的表单及不可修改参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对,控制该用户的网络访问;本发明实施例达到了有效地控制web系统越权访问的目的。
【专利说明】控制web系统越权访问的方法及装置
【技术领域】
[0001]本发明涉及互联网领域,尤其涉及一种控制web系统越权访问的方法及装置。
【背景技术】
[0002]目前互联网中存在的最严重的漏洞之一是越权访问这类漏洞,这类漏洞是指网络应用在检查授权时存在纰漏,使得攻击者可以利用某些方式绕过权限检查,访问或者操作到原本无权访问的代码。在实际代码安全检查中,越权访问这类漏洞往往很难通过网络安全工具进行自动化检测;且在实际应用中,需要进行权限控制的数据也非常多,比如用户的收货地址信息、订单信息、支付信息等,当网络业务复杂到一定程度后,很难保证这些数据的访问都经过了严格的权限检查;且传统的网关安全设备也不具备控制用户权限、业务逻辑等安全问题的能力;因此,采用现有的防御方式对越权访问这类漏洞的防御非常困难。
【发明内容】
[0003]鉴于此,有必要提供一种控制web系统越权访问的方法及装置,以达到控制web系统越权访问的目的。
[0004]本发明实施例公开了一种控制web系统越权访问的方法,包括以下步骤:
[0005]接收到用户发送的页面访问请求时,根据预设的识别策略,从用户的页面访问请求中提取该用户对应的用户唯一标识信息,同时提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数;
[0006]将所述表单及不可修改参数与所述用户唯一标识信息绑定后记录到参数列表中;
[0007]检测到用户提交请求页面的表单时,将所述请求页面的表单及不可修改参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对,控制该用户的网络访问。
[0008]优选地,所述检测到用户提交请求页面的表单时,将所述请求页面的表单及不可修改参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对,控制该用户的网络访问,包括:
[0009]检测到用户提交请求页面的表单时,获取该用户对应的用户唯一标识信息;
[0010]根据所述用户唯一标识信息,查找所述参数列表中记录的与所述用户唯一标识信息对应的表单及不可修改参数;
[0011]识别用户提交的请求页面的表单对应的不可修改参数与所述参数列表中记录的不可修改参数是否一致;
[0012]若二者不一致,则禁止该用户对所述请求页面的访问;
[0013]若二者一致,则允许该用户对所述请求页面的访问。
[0014]优选地,所述根据预设的识别策略,从用户的页面访问请求中提取该用户对应的用户唯一标识信息,包括:[0015]当预设的所述识别策略为:http请求头中cookie传递的参数时,从所述页面访问请求中提取http请求头中cookie的username字段,将提取的所述username字段值作为该用户对应的用户唯一标识信息。
[0016]优选地,所述提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数,包括:
[0017]扫描应答页面,提取所述应答页面中的表单及对应的隐藏域,根据提取的隐藏域获取所述表单中不可修改参数。
[0018]优选地,所述提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数,包括:
[0019]虚拟执行所述应答页面包含的脚本程序,提取动态构建的隐藏域和对已有隐藏域的赋值,获取所述应答页面中的表单及该表单不可修改参数。
[0020]本发明实施例还公开了一种控制web系统越权访问的装置,包括:
[0021]参数提取模块,用于接收到用户发送的页面访问请求时,根据预设的识别策略,从用户的页面访问请求中提取该用户对应的用户唯一标识信息,同时提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数;
[0022]参数绑定模块,用于将所述表单及不可修改参数与所述用户唯一标识信息绑定后记录到参数列表中;
[0023]越权检测模块,用于检测到用户提交请求页面的表单时,将所述请求页面的表单及不可修改参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对,控制该用户的网络访问。
[0024]优选地,所述越权检测模块用于:
[0025]检测到用户提交请求页面的表单时,获取该用户对应的用户唯一标识信息;
[0026]根据所述用户唯一标识信息,查找所述参数列表中记录的与所述用户唯一标识信息对应的表单及不可修改参数;
[0027]识别用户提交的请求页面的表单对应的不可修改参数与所述参数列表中记录的不可修改参数是否一致;
[0028]若二者不一致,则禁止该用户对所述请求页面的访问;
[0029]若二者一致,则允许该用户对所述请求页面的访问。
[0030]优选地,所述参数提取模块用于:
[0031]当预设的所述识别策略为:http请求头中cookie传递的参数时,从所述页面访问请求中提取http请求头中cookie的username字段,将提取的所述username字段值作为该用户对应的用户唯一标识信息。
[0032]优选地,所述参数绑定模块用于:
[0033]扫描应答页面,提取所述应答页面中的表单及对应的隐藏域,根据提取的隐藏域获取所述表单中不可修改参数。
[0034]优选地,所述参数绑定模块还用于:
[0035]虚拟执行所述应答页面包含的脚本程序,提取动态构建的隐藏域和对已有隐藏域的赋值,获取所述应答页面中的表单及该表单不可修改参数。
[0036]本发明实施例网关接收到用户发送的页面访问请求时,根据预设的识别策略,从用户的页面访问请求中提取该用户对应的用户唯一标识信息,同时提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数,将所述表单及不可修改参数与所述用户唯一标识信息绑定后记录到参数列表中;检测到用户提交请求页面的表单时,将所述请求页面的表单及不可修改参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对,控制该用户的网络访问;相较于现有技术对越权访问形式的漏洞所采用的方法,本发明实施例达到了有效地控制web系统越权访问的目的;进一步地,由于本发明实施例采用将用户访问的页面表单及不可修改参数进行绑定的方式,具有精确控制越权访问的有益效果。
【专利附图】
【附图说明】
[0037]图1是本发明控制web系统越权访问的方法一实施例流程示意图;
[0038]图2是本发明控制web系统越权访问的方法中进行越权检测一实施例流程示意图;
[0039]图3是本发明控制web系统越权访问的装置一实施例功能模块示意图。
[0040]本发明实施例目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0041]以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0042]图1是本发明控制web系统越权访问的方法一实施例流程示意图;如图1所示,本发明控制web系统越权访问的方法包括以下步骤:
[0043]步骤S01、接收到用户发送的页面访问请求时,根据预设的识别策略,从用户的页面访问请求中提取该用户对应的用户唯一标识信息,同时提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数;
[0044]步骤S02、将所述表单及不可修改参数与所述用户唯一标识信息绑定后记录到参数列表中;
[0045]本实施例中,网关预先设置了用户唯一标识的识别策略;该识别策略包括http(Hyper Text Transport Protocol,超文本传输协议)请求头中cookie (小型文本文件)传递的参数或URL (Uniform Resource Locator,统一资源定位符)中传递的参数。
[0046]当网关接收到用户发送的页面访问请求时,根据预先设置的识别策略,例如设置cookie中的username字段作为web用户的唯一标识信息,则网关从用户发送的页面访问请求中提取http请求头的cookie中的username字段,将提取的username字段值作为该用户对应的用户唯一标识信息。
[0047]网关接收到用户发送的页面访问请求时,对该用户的每次访问,扫描数据包,提取用户发送的页面访问请求对应的应答页面中的表单及表单中不可修改参数,并将该表单及不可修改参数与用户唯一标识信息一起绑定后,记录在参数列表中。
[0048]本实施例中,所述参数列表至少包含用户的请求方法、请求URL、参数名和参数值;在进行参数绑定时,网关扫描应答页面,提取所述应答页面中的表单及对应的隐藏域,根据提取的隐藏域获取所述表单中不可修改参数。或者,网关也可以虚拟执行所述应答页面包含的脚本程序如JS (JavaScript,脚本语言)代码,提取动态构建的隐藏域和对已有隐藏域的赋值,获取所述应答页面中的表单及该表单不可修改参数。例如,用户请求页面A,A页面中包含以POST (Power On Self Test,开机自检)方式提交到B页面的表单,表单中包含固定参数nameflag=”hello”的键值对,则记录的不可修改参数中包括:请求方法POST, URLB,参数名nameflag,参数值hello。
[0049]本实施例中,所述不可修改参数是指在HTML (Hypertext Markup Language,超文本标记语言)表单中固定写入的一个不可更改的表单项即隐藏域;当用户提交表单时,网关将不可修改参数也与表单一起发送到服务端;该隐藏域在表单中的形式主要有以下三种:①直接内置到HTML页面中的隐藏域,例如〈input type=”hidden”name=”xxx”value=”xxx”/& ;②以JS的形式动态创建的隐藏参数,例如:
[0050]〈script〉
[0051]function add(value){
[0052]var value=l;
[0053]document, all.divHidden.1nnerHTML=〃〈input
[0054]type=,hidden,name=,hdncount, value=//+value+//&//;
[0056]〈/script〉
[0057]③HTML结合JS的实现方式,例如HTML页面中写〈inputtype=” hidden” name=” XXX”/&, JS中动态给名称为xxx的隐藏域赋值。
[0058]上述第①种形式的隐藏域可以完全绑定参数值,第②种形式的隐藏域的绑定需要结合隐藏域插入到HTML页面的具体表单来获取隐藏域提交的URL ;若存在第③种形式的隐藏域,则可以绑定第三种形式隐藏域的参数值。
[0059]步骤S03、检测到用户提交请求页面的表单时,将所述请求页面的表单及不可修改参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对,控制该用户的网络访问。
[0060]当检测到用户提交请求页面的表单时,查询该请求页面对应的URL及该URL对应的各种参数;将所述请求页面的表单及参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对;当发现请求方法匹配,但却存在不可修改参数被修改时,网关则认为该用户为越权访问,则阻止该用户对请求页面的访问。
[0061]图2是本发明控制web系统越权访问的方法中进行越权检测一实施例流程示意图;如图2所示,步骤S03、检测到用户提交请求页面的表单时,将所述请求页面的表单及参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对,控制该用户的网络访问,包括:
[0062]步骤S11、检测到用户提交请求页面的表单时,获取该用户对应的用户唯一标识信息;
[0063]步骤S12、根据所述用户唯一标识信息,查找所述参数列表中记录的与所述用户唯一标识信息对应的表单及不可修改参数;
[0064]步骤S13、识别用户提交的请求页面的表单对应的不可修改参数与所述参数列表中记录的不可修改参数是否一致;若是,则执行步骤S14 ;若否,则执行步骤S15 ;
[0065]步骤S14、允许该用户对所述请求页面的访问;
[0066]步骤S15、禁止该用户对所述请求页面的访问。
[0067]网关检测到用户提交请求页面的表单时,识别并获取该用户对应的用户唯一标识信息;根据获取的该用户唯一标识信息,查找已存储的参数列表中记录的与该用户唯一标识信息对应的表单及不可修改参数。将用户提交的请求页面的表单及对应的不可修改参数,与参数列表中记录的与用户唯一标识信息对应的表单及不可修改参数进行比对,识别二者是否一致;在用户请求页面对应的不可修改参数与参数列表中记录的不可修改参数一致时,允许用户的本次访问;在用户请求页面对应的不可修改参数与参数列表中记录的不可修改参数不一致时,识别该用户的本次访问为越权访问,阻止用户访问其请求的页面。
[0068]本发明实施例网关接收到用户发送的页面访问请求时,根据预设的识别策略,从用户的页面访问请求中提取该用户对应的用户唯一标识信息,同时提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数,将所述表单及不可修改参数与所述用户唯一标识信息绑定后记录到参数列表中;检测到用户提交请求页面的表单时,将所述请求页面的表单及不可修改参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对,控制该用户的网络访问;达到了有效地控制web系统越权访问的目的;进一步地,由于本发明实施例采用将用户访问的页面表单及不可修改参数进行绑定的方式,具有精确控制越权访问的有益效果。
[0069]图3是本发明控制web系统越权访问的装置一实施例功能模块示意图。如图3所示,本发明控制web系统越权访问的装置包括:参数提取模块01、参数绑定模块02和越权检测模块03。
[0070]参数提取模块01,用于接收到用户发送的页面访问请求时,根据预设的识别策略,从用户的页面访问请求中提取该用户对应的用户唯一标识信息,同时提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数;
[0071]参数绑定模块02,用于将所述表单及不可修改参数与所述用户唯一标识信息绑定后记录到参数列表中;
[0072]本实施例中,网关预先设置了用户唯一标识的识别策略;该识别策略包括http请求头中cookie传递的参数或URL中传递的参数。
[0073]当网关接收到用户发送的页面访问请求时,根据预先设置的识别策略,例如设置cookie中的username字段作为web用户的唯一标识信息,参数提取模块01从用户发送的页面访问请求中提取http请求头的cookie中的username字段,将提取的username字段值作为该用户对应的用户唯一标识信息。
[0074]参数提取模块01接收到用户发送的页面访问请求时,对该用户的每次访问,扫描数据包,提取用户发送的页面访问请求对应的应答页面中的表单及表单中不可修改参数,并由参数绑定模块02将该表单及不可修改参数与用户唯一标识信息一起绑定后,记录在参数列表中。
[0075]本实施例中,所述参数列表至少包含用户的请求方法、请求URL、参数名和参数值;在进行参数的提取时,参数提取模块01扫描应答页面,提取所述应答页面中的表单及对应的隐藏域,根据提取的隐藏域获取所述表单中不可修改参数。或者,参数提取模块01也可以虚拟执行所述应答页面包含的脚本程序如JS代码,提取动态构建的隐藏域和对已有隐藏域的赋值,获取所述应答页面中的表单及该表单不可修改参数。例如,用户请求页面A,A页面中包含以POST方式提交到B页面的表单,表单中包含固定参数nameflag=” hello”的键值对,则参数提取模块01记录的不可修改参数中包括:请求方法POST,URL B,参数名nameflag,参数值 hello。
[0076]本实施例中,所述不可修改参数是指在HTML表单中固定写入的一个不可更改的表单项即隐藏域;当用户提交表单时,网关将不可修改参数也与表单一起发送到服务端;该隐藏域在表单中的形式主要有以下三种:①直接内置到HTML页面中的隐藏域,例如〈input type=”hidden”name=”xxx” value=” xxx”/& ;②以 JS 的形式动态创建的隐藏参数,例如:
[0077]〈script〉
[0078]function add(value) {
[0079]var value=l;
[0080]document, all.divHidden.1nnerHTML="〈input
[0081]type=,hidden,name=,hdncount, value=//+value+//&//;
[0083]〈/script〉
[0084]③HTML结合JS的实现方式,例如HTML页面中写〈inputtype=” hidden” name=” xxx”/&, JS中动态给名称为xxx的隐藏域赋值。
[0085]参数绑定模块02对上述第①种形式的隐藏域可以完全绑定参数值,参数绑定模块02对第②种形式的隐藏域的绑定需要结合隐藏域插入到HTML页面的具体表单来获取隐藏域提交的URL ;若存在第③种形式的隐藏域,参数绑定模块02则可以绑定第三种形式隐藏域的参数值。
[0086]越权检测模块03,用于检测到用户提交请求页面的表单时,将所述请求页面的表单及不可修改参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对,控制该用户的网络访问。
[0087]当检测到用户提交请求页面的表单时,越权检测模块03查询该请求页面对应的URL及该URL对应的各种参数;将所述请求页面的表单及参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对;当发现请求方法匹配,但却存在不可修改参数被修改时,越权检测模块03则认为该用户为越权访问,则阻止该用户对请求页面的访问。
[0088]越权检测模块03检测到用户提交请求页面的表单时,识别并获取该用户对应的用户唯一标识信息;根据获取的该用户唯一标识信息,越权检测模块03查找已存储的参数列表中记录的与该用户唯一标识信息对应的表单及不可修改参数。越权检测模块03将用户提交的请求页面的表单及对应的不可修改参数,与参数列表中记录的与用户唯一标识信息对应的表单及不可修改参数进行比对,识别二者是否一致;在用户请求页面对应的不可修改参数与参数列表中记录的不可修改参数一致时,越权检测模块03允许用户的本次访问;在用户请求页面对应的不可修改参数与参数列表中记录的不可修改参数不一致时,越权检测模块03识别该用户的本次访问为越权访问,阻止用户访问其请求的页面。
[0089]本发明实施例网关接收到用户发送的页面访问请求时,根据预设的识别策略,从用户的页面访问请求中提取该用户对应的用户唯一标识信息,同时提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数,将所述表单及不可修改参数与所述用户唯一标识信息绑定后记录到参数列表中;检测到用户提交请求页面的表单时,将所述请求页面的表单及不可修改参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对,控制该用户的网络访问;达到了有效地控制web系统越权访问的目的;进一步地,由于本发明实施例采用将用户访问的页面表单及不可修改参数进行绑定的方式,具有精确控制越权访问的有益效果。
[0090]需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有
的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包
括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0091 ] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0092] 以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种控制web系统越权访问的方法,其特征在于,包括以下步骤:
接收到用户发送的页面访问请求时,根据预设的识别策略,从用户的页面访问请求中提取该用户对应的用户唯一标识信息,同时提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数;
将所述表单及不可修改参数与所述用户唯一标识信息绑定后记录到参数列表中;检测到用户提交请求页面的表单时,将所述请求页面的表单及不可修改参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对,控制该用户的网络访问。
2.如权利要求1所述的方法,其特征在于,所述检测到用户提交请求页面的表单时,将所述请求页面的表单及不可修改参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对,控制该用户的网络访问,包括:
检测到用户提交请求页面的表单时,获取该用户对应的用户唯一标识信息;
根据所述用户唯一标识信息,查找所述参数列表中记录的与所述用户唯一标识信息对应的表单及不可修改参数;
识别用户提交的请求页面的表单对应的不可修改参数与所述参数列表中记录的不可修改参数是否一致;
若二者不一致,则禁止该用户对所述请求页面的访问;
若二者一致,则允许该用户对所述请求页面的访问。
3.如权利要求1或2所述的方法,其特征在于,所述根据预设的识别策略,从用户的页面访问请求中提取该用户对应的用户唯一标识信息,包括:
当预设的所述识别策略为:http请求头中cookie传递的参数时,从所述页面访问请求中提取http请求头中cookie的username字段,将提取的所述username字段值作为该用户对应的用户唯一标识信息。
4.如权利要求1或2所述的方法,其特征在于,所述提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数,包括:
扫描应答页面,提取所述应答页面中的表单及对应的隐藏域,根据提取的隐藏域获取所述表单中不可修改参数。
5.如权利要求1或2所述的方法,其特征在于,所述提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数,包括:
虚拟执行所述应答页面包含的脚本程序,提取动态构建的隐藏域和对已有隐藏域的赋值,获取所述应答页面中的表单及该表单不可修改参数。
6.一种控制web系统越权访问的装置,其特征在于,包括:
参数提取模块,用于接收到用户发送的页面访问请求时,根据预设的识别策略,从用户的页面访问请求中提取该用户对应的用户唯一标识信息,同时提取所述页面访问请求对应的应答页面中的表单及该表单中不可修改参数;
参数绑定模块,用于将所述表单及不可修改参数与所述用户唯一标识信息绑定后记录到参数列表中;
越权检测模块,用于检测到用户提交请求页面的表单时,将所述请求页面的表单及不可修改参数与该用户对应的所述参数列表中记录的表单及不可修改参数进行比对,控制该用户的网络访问。
7.如权利要求6所述的装置,其特征在于,所述越权检测模块用于:
检测到用户提交请求页面的表单时,获取该用户对应的用户唯一标识信息;
根据所述用户唯一标识信息,查找所述参数列表中记录的与所述用户唯一标识信息对应的表单及不可修改参数;
识别用户提交的请求页面的表单对应的不可修改参数与所述参数列表中记录的不可修改参数是否一致;
若二者不一致,则禁止该用户对所述请求页面的访问;
若二者一致,则允许该用户对所述请求页面的访问。
8.如权利要求6或7所述的装置,其特征在于,所述参数提取模块用于:
当预设的所述识别策略为:http请求头中cookie传递的参数时,从所述页面访问请求中提取http请求头中cookie的username字段,将提取的所述username字段值作为该用户对应的用户唯一标识信息。
9.如权利要求6或7所述的装置,其特征在于,所述参数绑定模块用于:
扫描应答页面,提取所述应答页面中的表单及对应的隐藏域,根据提取的隐藏域获取所述表单中不可修改参数。
10.如权利要求6或7所述的装置,其特征在于,所述参数绑定模块还用于:
虚拟执行所述应答页面包含的脚本程序,提取动态构建的隐藏域和对已有隐藏域的赋值,获取所述应答页面中的表单及该表单不可修改参数。
【文档编号】H04L9/32GKSQ
【公开日】日
申请日期:日
优先权日:日
【发明者】曾长春
申请人:深信服网络科技(深圳)有限公司}

我要回帖

更多关于 root成功率100%的软件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信