CN109067853A - 一种Web动态网页源码自动化尝试获取方法 - Google Patents
一种Web动态网页源码自动化尝试获取方法 Download PDFInfo
- Publication number
- CN109067853A CN109067853A CN201810777443.XA CN201810777443A CN109067853A CN 109067853 A CN109067853 A CN 109067853A CN 201810777443 A CN201810777443 A CN 201810777443A CN 109067853 A CN109067853 A CN 109067853A
- Authority
- CN
- China
- Prior art keywords
- source code
- ascii character
- response message
- web
- acquisition methods
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明属于网络技术领域,公开了一种Web动态网页源码自动化尝试获取方法,所述方法包括以下步骤:构造http请求;发送http请求并接收http响应信息;输出http响应信息形成记录;遍历记录,若http响应信息中的状态码为200,则将该条记录输出至结果文件,否则不处理。本发明分别使用每一个Ascii字符同待测目标URL、身份信息构造http请求并发送,通过对http响应信息的筛选来获得可以获取动态页面源码的字符,提高了源码获取尝试的全面性;整个过程使用程序自动化执行,提高了源码获取尝试的效率。
Description
技术领域
本发明属于网络技术领域,具体地说是涉及一种Web动态网页源码自动化尝试获取方法。
背景技术
信息安全领域中,在对动态网页形式的网站进行Web渗透测试时,如果能够拿到动态网页源码,则对了解其输入过滤流程等有很大帮助,进而提高渗透利用的成功率。
当前常见的获取方法主要是实用特殊字符手动组装http请求进行获取尝试,比较费时,也容易遗漏。
发明内容
本发明的目的是为了解决上述问题,提供一种Web动态网页源码自动化尝试获取方法,以尽可能全面、高效地实现Web动态网页源码获取尝试。
为了实现上述目的,本发明的技术方案是:
一种Web动态网页源码自动化尝试获取方法,包括以下步骤:
S1,构造http请求;
S2,发送http请求并接收http响应信息;
S3,输出http响应信息形成记录;
S4,遍历记录,若http响应信息中的状态码为200,则将该条记录输出至结果文件,否则不处理。
进一步的,所述S1中构造http请求的具体步骤为:输入身份信息和待测目标URL,输入一个Ascii字符设置在待测目标URL尾部组成新的URL,身份信息自动设置在http请求的头部,形成http请求。
进一步的,所述的身份信息包括cookie、token、referer、csrf-token、Authorization。
进一步的,所述的发送http请求并接收http响应信息的方法包括linux shell的curl命令、python的httplib库方法。
进一步的,所述S3中,所述输出http响应信息形成记录过程中,输出响应信息中的状态码、响应头中的Content-Length字段及本次使用的Ascii字符形成一条记录。
进一步的,所述Ascii字符从%00开始,Ascii字符范围为%00~%FF,通过本次使用的Ascii字符形成一条记录后,更换Ascii字符,循环执行步骤S1、S2、S3,直至256个Ascii字符均被使用,每个Ascii字符输出的响应信息中的状态码、响应头中的Content-Length字段及本次使用的Ascii字符均输出形成一条记录。
进一步的,所述S4的具体步骤为:遍历记录,如果http响应信息中的状态码为200,则输出Content-Length字段及其对应的Ascii字符到结果文件中;同时记录项总数加一,并对不同的Content-Length值分别进行计数,如果http响应信息中的状态码不为200,则不处理,访问下一条记录,直至遍历所有记录。
进一步的,所述不同的Content-Length值的计数中,每项计数信息包括ascii字符、计数值,存到临时内存buffer中。
进一步的,如果结果文件中记录项总数为256,则自动删除结果文件中Content-Length值计数最大的对应的记录项,否则不需要处理结果文件。
进一步的,所述结果文件中的每项记录中的Ascii字符为可获取动态页面源码的字符,将结果文件中的任一Ascii字符设置在待测目标URL尾部组成新的URL进行访问,即可获得Web动态网页源码。
本发明的有益效果为:
本发明分别使用每一个Ascii字符同待测目标URL、身份信息构造http请求并发送,通过对http响应信息的筛选来获得可以获取动态页面源码的字符,提高了源码获取尝试的全面性;将结果文件中的任一Ascii字符设置在待测目标URL尾部组成新的URL进行访问,即可获得Web动态网页源码,整个过程使用程序自动化执行,提高了源码获取尝试的效率。
附图说明
图1为Web动态网页源码自动化尝试获取方法流程图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。根据下述实施例,可以更好地理解本发明。然而,本领域的技术人员容易理解,以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,一种Web动态网页源码自动化尝试获取方法,包括以下步骤:
S1,构造http请求;
S2,发送http请求并接收http响应信息;
S3,输出http响应信息形成记录;
S4,遍历记录,若http响应信息中的状态码为200,则将该条记录输出至结果文件,否则不处理。
所述S1中构造http请求的具体步骤为:输入身份信息和待测目标URL,输入一个Ascii字符设置在待测目标URL尾部组成新的URL,身份信息自动设置在http请求的头部,形成http请求。
所述的身份信息包括cookie、token、referer、csrf-token、Authorization、其他自定义字段等。
所述S2中,所述的发送http请求并接收http响应信息的方法包括linux shell的curl命令、python的httplib库方法。
所述S3中,所述输出http响应信息形成记录过程中,输出响应信息中的状态码、响应头中的Content-Length字段及本次使用的Ascii字符至临时文件A中形成一条记录。
Ascii字符从%00开始,Ascii字符范围为%00~%FF,通过本次使用的Ascii字符形成一条记录输出至临时文件A中后,更换Ascii字符,循环执行步骤S1、S2、S3,直至256个Ascii字符均被使用,每个Ascii字符对应的http请求获得的响应信息中的状态码、响应头中的Content-Length字段及本次使用的Ascii字符均输出至临时文件A中形成一条记录。
所述S4的具体步骤为:遍历临时文件A中的每一条记录,如果http响应信息中的状态码为200,则输出Content-Length字段及其对应的Ascii字符到结果文件B中;同时记录项总数加一,并对不同的Content-Length值分别进行计数Sum1、Sum2……SumX,否则不处理,访问下一条记录,直至遍历所有记录。
所述计数Sum1、Sum2……SumX中,每项计数信息包括ascii字符、计数值,输出至临时内存buffer中。
如果结果文件B中记录项总数为256,则自动删除结果文件B中Content-Length值计数最大的对应的记录项,否则不需要处理结果文件B。通过该处理方式可以排除一种特殊情况的影响:有的系统会将所有的请求响应状态都置为200,请求成功与否在http响应体中某些自定义字段反应;如出现此情况,失败响应的响应体长度一般应该是一致,不一致的情况无法自动化。
最后获得的结果文件B中的每项记录中的Ascii字符为可以获取动态页面源码的字符,将结果文件B中的任一Ascii字符拼接在待测目标URL尾部组成新的URL进行访问,即可获得Web动态网页源码。
本发明分别使用每一个Ascii字符同待测目标URL、身份信息构造http请求并发送,通过对http响应信息的筛选来获得可以获取动态页面源码的字符,提高了源码获取尝试的全面性;整个过程使用程序自动化执行,提高了源码获取尝试的效率。
其中,附图1中的Y是指Yes,N是指No。
本发明的Web动态网页源码自动化尝试获取方法可以以脚本形式、web形式、二进制应用程序、APP等形式实现。当以脚本形式实现时,构造http请求的方式如下:执行脚本程序,按照提示在命令行输入身份信息和待测目标URL,输入一个Ascii字符拼接在目标URL尾部组成新的URL,身份信息自动设置在http请求的头部,http请求构造完成;当以web形式实现时,通过前端UI输入身份信息和待测目标URL,其他步骤相同。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请,并不能以此限制本申请的保护范围。凡根据本申请精神实质所做的等效变化或修饰,都应涵在盖本申请的保护范围内。
Claims (10)
1.一种Web动态网页源码自动化尝试获取方法,其特征在于,包括以下步骤:
S1,构造http请求;
S2,发送http请求并接收http响应信息;
S3,输出http响应信息形成记录;
S4,遍历记录,若http响应信息中的状态码为200,则将该条记录输出至结果文件,否则不处理。
2.如权利要求1所述的一种Web动态网页源码自动化尝试获取方法,其特征在于,所述S1中构造http请求的具体步骤为:输入身份信息和待测目标URL,输入一个Ascii字符设置在待测目标URL尾部组成新的URL,身份信息自动设置在http请求的头部,形成http请求。
3.如权利要求2所述的一种Web动态源码自动化尝试获取方法,其特征在于,所述的身份信息包括cookie、token、referer、csrf-token、Authorization。
4.如权利要求1所述的一种Web动态源码自动化尝试获取方法,其特征在于,所述S2中,所述的发送http请求并接收http响应信息的方法包括linux shell的curl命令、python的httplib库方法。
5.如权利要求1所述的一种Web动态网页源码自动化尝试获取方法,其特征在于,所述S3中,所述输出http响应信息形成记录过程中,输出响应信息中的状态码、响应头中的Content-Length字段及本次使用的Ascii字符形成一条记录。
6.如权利要求5所述的一种Web动态网页源码自动化尝试获取方法,其特征在于,所述Ascii字符从%00开始,Ascii字符范围为%00~%FF,通过本次使用的Ascii字符形成一条记录后,更换Ascii字符,循环执行步骤S1、S2、S3,直至256个Ascii字符均被使用,每个Ascii字符对应的http请求获得的响应信息中的状态码、响应头中的Content-Length字段及本次使用的Ascii字符均输出形成一条记录。
7.如权利要求5或6所述的一种Web动态网页源码自动化尝试获取方法,其特征在于,所述S4的具体步骤为:遍历记录,如果http响应信息中的状态码为200,则输出Content-Length字段及其对应的Ascii字符到结果文件中,同时记录项总数加一,并对不同的Content-Length值分别进行计数;否则不处理,访问下一条记录,直至遍历所有记录,所述结果文件中的每项记录中的Ascii字符为可获取Web动态页面源码的字符。
8.如权利要求7所述的一种Web动态网页源码自动化尝试获取方法,其特征在于,所述不同的Content-Length值的计数中,每项计数信息包括ascii字符、计数值。
9.如权利要求7所述的一种Web动态网页源码自动化尝试获取方法,其特征在于,如果结果文件中记录项总数为256,则自动删除结果文件中Content-Length值计数最大的对应的记录项,否则不需要处理结果文件。
10.如权利要求9所述的一种Web动态网页源码自动化尝试获取方法,其特征在于,将结果文件中的任一Ascii字符设置在待测目标URL尾部组成新的URL进行访问,即可获得Web动态网页源码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810777443.XA CN109067853B (zh) | 2018-07-16 | 2018-07-16 | 一种Web动态网页源码自动化尝试获取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810777443.XA CN109067853B (zh) | 2018-07-16 | 2018-07-16 | 一种Web动态网页源码自动化尝试获取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109067853A true CN109067853A (zh) | 2018-12-21 |
CN109067853B CN109067853B (zh) | 2021-07-30 |
Family
ID=64816546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810777443.XA Active CN109067853B (zh) | 2018-07-16 | 2018-07-16 | 一种Web动态网页源码自动化尝试获取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109067853B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571860A (zh) * | 2008-04-29 | 2009-11-04 | 国际商业机器公司 | 动态网页生成方法和装置、提取结构化数据的方法和装置 |
US20100205053A1 (en) * | 2009-02-03 | 2010-08-12 | Gary Stephen Shuster | Http trigger for out-of-protocol action |
CN103164435A (zh) * | 2011-12-13 | 2013-06-19 | 北大方正集团有限公司 | 一种网络数据的采集方法和系统 |
CN103714109A (zh) * | 2012-10-04 | 2014-04-09 | 柯尼卡美能达株式会社 | 网页的显示方法 |
CN103780614A (zh) * | 2014-01-21 | 2014-05-07 | 金华比奇网络技术有限公司 | 一种基于模拟攻击扩展的sql注入漏洞挖掘方法 |
CN106371987A (zh) * | 2015-07-24 | 2017-02-01 | 北京奇虎科技有限公司 | 测试方法和装置 |
-
2018
- 2018-07-16 CN CN201810777443.XA patent/CN109067853B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571860A (zh) * | 2008-04-29 | 2009-11-04 | 国际商业机器公司 | 动态网页生成方法和装置、提取结构化数据的方法和装置 |
US20100205053A1 (en) * | 2009-02-03 | 2010-08-12 | Gary Stephen Shuster | Http trigger for out-of-protocol action |
CN103164435A (zh) * | 2011-12-13 | 2013-06-19 | 北大方正集团有限公司 | 一种网络数据的采集方法和系统 |
CN103714109A (zh) * | 2012-10-04 | 2014-04-09 | 柯尼卡美能达株式会社 | 网页的显示方法 |
CN103780614A (zh) * | 2014-01-21 | 2014-05-07 | 金华比奇网络技术有限公司 | 一种基于模拟攻击扩展的sql注入漏洞挖掘方法 |
CN106371987A (zh) * | 2015-07-24 | 2017-02-01 | 北京奇虎科技有限公司 | 测试方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109067853B (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103973684B (zh) | 规则编译匹配方法及装置 | |
US9021564B2 (en) | Method and apparatus to assist user input based on a mobile terminal browser | |
CN104809062B (zh) | 一种人工智能应答系统的测试方法及系统 | |
CN105138924B (zh) | 未登录状态下保存应用操作信息的方法和设备 | |
CN103501306B (zh) | 一种网址识别的方法、服务器及系统 | |
US20130205397A1 (en) | Adaptive fuzzing system for web services | |
CN107688618A (zh) | 数据对比方法、装置、计算机设备和存储介质 | |
CN102857493A (zh) | 内容过滤方法和装置 | |
CN104067561A (zh) | 通过使用web流量信息动态扫描web应用 | |
CN104735062B (zh) | 一种网络用户注册方法及服务器 | |
JP2021530011A (ja) | ピア・ツー・ピア金銭移動 | |
CN106778280A (zh) | 一种填充式远程漏洞PoC编写方法及漏洞检测方法 | |
CN108734464A (zh) | 一种利用浏览器执行区块链计算任务的方法、装置和浏览器 | |
KR101356676B1 (ko) | 컴퓨팅 환경에서 표현식을 번역하는 방법, 소프트웨어 및시스템 | |
CN110222085A (zh) | 一种存证数据的处理方法、装置及存储介质 | |
CN104168250A (zh) | 基于cgi框架的业务流程控制方法及装置 | |
US20220035661A1 (en) | Task generation | |
CN107562426B (zh) | 无埋点式云端收集分析浏览器Trace的方法及系统 | |
CN108268468A (zh) | 一种大数据的分析方法及系统 | |
CN109067853A (zh) | 一种Web动态网页源码自动化尝试获取方法 | |
CN111353036A (zh) | 一种规则文件生成方法、装置、设备及可读存储介质 | |
CN112637005B (zh) | 流量回放方法、装置、计算机设备和存储介质 | |
CN109242561A (zh) | 抽奖模型构建方法、抽奖活动管理方法、装置和计算设备 | |
Munea et al. | Design and implementation of fuzzing framework based on IoT applications | |
CN113609427B (zh) | 一种无接口情况下的系统数据资源提取方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |