上帝视角寻找网站源码
优雅地寻找网站源码(一)0x0前言
渗透过程中如果能获取到网站的源代码,那么无疑开启了上帝视角。虽然之前出现过不少通过搜索引擎查找同类网站,然后批量扫备份的思路,但是却没人分享其具体过程,这里笔者便整理了自己开发分布式扫描器的目录扫描模块的一些尝试的思路,同时分享一些寻找源码的其他手段,希望能给读者带来一些新的体验。0x1搜索技巧0x1。1代码托管平台
国外的github和国内的gitee都是第三方代码托管平台,通过一些搜索技巧,我们可以从中发现很多泄露的敏感信息,其中就包括一些程序的源代码。
这里笔者对码云平时用得不多,故对此只是简单提提,下面,则重点介绍github的用法:
学习这个用法就我个人而言最大的好处是,遇到返回大量数据的时候,可以根据一些特点来过滤掉一些垃圾数据。
Github的搜索页面:https:github。comsearch
(1)quickcheatsheet
基础查询:
搜索仓库:
搜索代码:
搜索用户:
(2)个人查询Dorkfilename:config。phpdbpasswdfilename:。bashrcpasswordshodanapikeylanguage:pythonpath:sitesdatabasespasswordbaidu。comsshlanguage:yamlfilename:file。phpadminin:pathorg:companynameAWSACCESSKEYID:
(3)针对某个关键词查询
用双引号括起来,如qq。com
(4)可以使用GitDorker来自定义dork,实现自动化查询。gitclonehttps:github。comobheda12GitDorker。gitcdGitDorkerdockerbuildtgitdorker。dockerrunitgitdorkerdockerrunitv(pwd)tf:tfgitdorkertftfTOKENSFILEqtesla。comddorksDORKFILEotesladockerrunitv(pwd)tf:tfxshudengitdorkertftfTOKENSFILEqtesla。comddorksDORKFILEotesla
免安装使用:python3GitDorker。pytf。TFTOKENSFILEqximalaya。comd。Dorksalldorksv3oxmly
参考:
https:github。comtechgaungithubdorks
https:infosecwriteups。comgithubdork553b7b84bcf40x1。2搜索引擎
Google:XX源码XX完整包xx安装程序xx备份xx代码xx开源xx源程序xx框架xxext:rarext:tar。gzext:zip
0x1。3网盘搜索
https:www。feifeipan。com
https:www。dalipan。com
https:www。chaonengsou。com这个网站做了个集合,比较全。
0x2曲线思路
如果如0x1所述,依然没办法找到源码,说明目标系统是那种小众或者商业类型的,导致没有在互联网流传广泛,故没办法搜索到。
这个时候,我们便可以采用曲线思路,通过寻找本网站根目录下的备份文件,源代码包进行下载,如果仍然没有找到,则去寻找同套系统的其他网站,扫描这些网站目录下的备份文件和源代码包,从而获取到系统源码。
我们不能做思想上的巨人,行动上的矮子,那么如何高效地完成这一过程呢?可以划分为下面几个步骤来完成。0x2。1提取特征
关于特征,重点收集主页特征,即直接访问域名显示的页面,因为主页是最容易被搜索引擎爬虫爬到的,次之,则是收集主页可访问到的其他标志性页面特征。
(1)logo特征
请求favicon。ico获取hash
(2)关键词特征
网站title、网站版权信息、javascript关键字信息、html源码结构信息、http返回头特征。0x2。2资产收集
关于资产收集,除了调度自己写的脚本集成fofa,shodan,zoomeye三个平台之外,我还很喜欢使用一个工具,因为它的功能比较丰富且运行也较为稳定fofaviewer。
下载地址:https:github。comwgpsecfofaviewer
0x2。3简单fuzz
收集到资产之后,前期,我喜欢用httpx进行一些路径的简单探测
cattargets。xtdeduplicatehttpxpathwwwroot。zipstatuscode
相当于做一层简单的过滤,来帮助nuclei减少请求的量。0x2。4编写nuclei插件
阅读和学习编写插件的官方文档:Guide可知:
编写插件第一步:插件信息
新建backupfiles。yaml文件,写入如下内容
参考:https:nuclei。projectdiscovery。iotemplatingguidetemplatedetail可知
id是必须的,不能包含空格,一般与文件名相同
info区域是动态的,除了name,author,description,severityandtags,也可以添加其他key:value,tags是支持用于nuclei检索调用的,可参照同类插件来写。id:backupfilesinfo:name:FindResourceCodeOfTargetTemplateauthor:xq17severity:mediumtags:exposure,backup
编写插件的第二步:发送请求
参考:https:nuclei。projectdiscovery。iotemplatingguideprotocolshttp可知1。HTTPRequestsstartwitharequestblockwhichspecifiesthestartoftherequestsforthetemplate。
2。RequestmethodcanbeGET,POST,PUT,DELETE,etcdependingontheneeds。
3。Redirectionconditionscanbespecifiedpereachtemplate。Bydefault,redirectsarenotfollowed。However,ifdesired,theycanbeenabledwithredirects:trueinrequestdetails。
4。Thenextpartoftherequestsisthepathoftherequestpath。Dynamicvariablescanbeplacedinthepathtomodifyitsbehavioronruntime。
Variablesstartwith{{andendwith}}andarecasesensitive。
{{baseURL}}ThiswillreplaceonruntimeintherequestbytheoriginalURLasspecifiedinthetargetfile。
{{Hostname}}Hostnamevariableisreplacedbythehostnameofthetargetonruntime。
5。Headerscanalsobespecifiedtobesentalongwiththerequests。Headersareplacedinformofkeyvaluepairs。Anexampleheaderconfigurationlookslikethis:
headerscontainstheheadersfortherequestheaders:CustomuseragentheaderUserAgent:SomeRandomUserAgentCustomrequestoriginOrigin:https:google。com
6。Bodyspecifiesabodytobesentalongwiththerequest。(发送POST包需要用到)
7。Tomaintaincookiebasedbrowserlikesessionbetweenmultiplerequests,youcansimplyusecookiereuse:trueinyourtemplate,Usefulincaseswhereyouwanttomaintainsessionbetweenseriesofrequesttocompletetheexploitchainandtoperformauthenticatedscans。(Session重用,作用是串联攻击链,实现登录验证再攻击)
cookiereuseacceptsbooleaninputandfalseasdefaultcookiereuse:true
8。RequestconditionallowstocheckforconditionbetweenmultiplerequestsforwritingcomplexchecksandexploitsinvolvingmultipleHTTPrequesttocompletetheexploitchain。
withDSLmatcher,itcanbeutilizedbyaddingreqcondition:trueandnumbersassuffixwithrespectiveattributes,statuscode1,statuscode3,andbody2forexample。(编写复杂攻击链)
reqcondition:truematchers:type:dsldsl:statuscode1404statuscode2200contains((body2),secretstring)
还有许多高级用法比如支持rawhttp,race之类的,但是这里用不上,文档这个东西,够用就行。requests:method:GETpath:{{baseURL}}wwwroot。zip{{baseURL}}www。zip
编写插件的第三步:判断返回内容
参考:https:nuclei。projectdiscovery。iotemplatingguideoperatorsmatchers知Multiplematcherscanbespecifiedinarequest。Therearebasically6typesofmatchers:
status(状态码)size(返回包大小)word(字符串)regex(正则匹配)binary(二进制文件)
还有一个dsl,高度自定义验证返回内容,可以对返回内容做一些操作(这里暂时用不上)
可用的辅助函数:https:nuclei。projectdiscovery。iotemplatingguidehelperfunctions,
对于wordsandregexes,可以对返回内容的多个匹配条件用AND或OR进行组合。
MultiplewordsandregexescanbespecifiedinasinglematcherandcanbeconfiguredwithdifferentconditionslikeANDandOR
可以对返回的包,选定match的区域,默认是body,也支持选择header等任意地方。
Multiplepartsoftheresponsecanalsobematchedfortherequest,defaultmatchedpartisbodyifnotdefined。
支持对条件取反,这个就是反证法的妙处了。
Alltypesofmatchersalsosupportnegativeconditions,mostlyusefulwhenyoulookforamatchwithanexclusions。Thiscanbeusedbyaddingnegative:trueinthematchersblock。
支持使用多个matchers
Multiplematcherscanbeusedinasingletemplatetofingerprintmultipleconditionswithasinglerequest。
支持matcherscondition
WhileusingmultiplematchersthedefaultconditionistofollowORoperationinbetweenallthematchers,ANDoperationcanbeusedtomakesurereturntheresultifallmatchersreturnstrue。
结合上面文档的介绍,可以写入如下的判断。matcherscondition:andmatchers:type:binarybinary:504B0304zippart:bodytype:dsldsl:len(body)0type:statusstatus:200
编写插件的第四步:链接起各个部分
上面的代码内容按顺序链接起来,则是如下:id:backupfilesinfo:name:FindResourceCodeOfTargetTemplateauthor:xq17severity:mediumtags:exposure,backuprequests:method:GETpath:{{baseURL}}wwwroot。zip{{baseURL}}www。zipmatcherscondition:andmatchers:type:binarybinary:504B0304zippart:bodytype:dsldsl:len(body)0type:statusstatus:2000x2。5测试插件
本地起一个靶机,进行调试:python3mhttp。server9091
然后调试:echohttp:127。0。0。1:9091nucleitbackupfiles。yamldebugtimeout2statsproxyurlhttp:127。0。0。1:8080
发包过程:
可以看到nuclei应用上插件之后,可以快速Fuzz出网站备份文件。0x3总结
第一篇主要是介绍了一些思路和nuclei插件编写简单思路,用于帮助新手快速入门,第二篇则是关于如何增强该插件,增加扫描目录列表,更精确的判断返回值等内容(这里建议读者,可以先自行阅读下nucleitemplate的文档,这样学习效果更佳!),第三篇则是运用前两篇的知识点和增强型插件,来完成一次真实地寻找网站源码之旅。
枫叶正红(初中作文)秋天的感觉越来越有了,果实成熟的气息越来越重,翠绿的叶子也慢慢的枯黄而脱落。静静地徘徊在枫树旁的小亭台,看那满山的枫叶,在轻风的诱惑下,悠悠地舒展、舞动,像是一片火红的海……
父爱深深小学优秀作文也许,你不知道父亲有多爱你,多在乎你。也许,你不知道父亲的生日是什么时候?也许从小,我跟着外婆长大。看着别人牵着爸爸妈妈的手去散步时,而我却只可以依偎在外婆的……
乡村风景的作文400字导语:乡村是一幅美丽的画,它的模样深深的印在我心,让我百看不厌,如痴如醉下面是yuwenmi小编为大家整理的优秀作文,欢迎阅读与借鉴,谢谢!【篇一:乡村风景】乡下的空气那……
关于写给灾区小朋友的一封信灾区的小朋友们:你们好,我是湖北省大冶市的一名小学生,我叫刘嘉薇,今年10岁,上小学五年级。512四川汶川大地震发生时,我们正在明亮宽敞的教室里上课。当从电视里看到……
我的妈妈作文600字我的妈妈是思源学校一名普通的老师,她工作20xx年了。对待工作认真负责,对于学生疼爱有加。今年妈妈教一年级数学。每天下班吃完饭后,她都在班级群里一个一个的检查学生的作业,……
我的暑假生活初一作文愉快又有意义的暑假生活转瞬即逝,回顾两个月的假期生活,发生了许多令我开心的事情,小编收集了我的暑假生活作文,欢迎阅读。第一篇:我的暑假生活时间是多么细碎,我的初一生涯已经……
美国对中国使用顶级网络武器证据曝光【美国国安局最强大互联网攻击工具曝光!你的社交账户很可能在美国监控之下】22日,360政企安全集团首次对外界完全披露美国国家安全局(NSA)针对中国境内目标所使用的代表性网络武……
蚂蚁财富金选投顾调整优化6家机构更新投顾策略基金池及名称等信21世纪经济报道记者姜诗蔷北京报道蚂蚁财富金选投顾调整后将重新上线。3月23日,兴证全球基金、南方基金、中欧财富、财通证券、广发基金、嘉实财富6家公司发布了调整旗下……
持斯拉汽车由俄乌战争联想到的可怕之处马斯克的星链系统已经在俄乌战争中为乌克兰提供了大量战场信息情报,乌军也通过情报知晓俄军的动态部署,为乌军作战决策提供了重要参考。我想说的是,目前特斯拉汽车的自动辅助驾驶系……
英伟达变软公布多款开发工具,瞄准科研游戏开发场景记者彭新编辑AI芯片巨头英伟达变软,发布多项企业级软件产品。3月23日,在游戏开发者大会(GDC)和GPU技术大会(GTC)上,英伟达公布多款开发工具,瞄准游……
互联网和游戏研究报告2019年中国网民搜索引擎使用情况研究报告。pdf2020年度互联网企业信息科技风险治理现状调研报告互联网协会。pdf2021中国网络视听发展研究报告。pdf……
腾讯Q4财报电话会不会启动股票回购计划,游戏版号停发是暂时的3月23日周三,腾讯控股发布2021财年第四季度业绩及全年财报。其美股ADR盘初一度跌8。7,随后跌幅收窄至不足4。这主要是由于第四季度营收增速创新低,非国际财务报告准则……
我最敬佩的人作文600字我的班主任姓庄,又是教英语的。她是我最敬佩的班主任。我记得,您丈夫也是教师,每天都很忙碌,所以教育孩子的重担就压在了你的身上。也就是因为这个原因,你不敢接替班主任这个职位……
寒假趣事作文400字优秀篇【范例1】寒假里,没有闹钟刺耳的吵闹,没有父母频频的催促,我安安静静地躺在温暖的被窝里,一觉睡到自然醒,真快乐!寒假里,没有沉重的书包,没有繁多的作业,只有一本薄薄……
哪个牌子的家教机比较好?明确地说,我不赞成孩子使用学习机或家教机!我们家孩子上小学的时候,经常在家里说,上课不听讲,下课喜欢打打闹闹的,基本上都是在校外上补习班的,和买了学习机家教机的。补习班与……
我眼中的爸爸作文一:我眼中的爸爸在我的心目中,爸爸是一个非常关心我的人。他有一张黑黑的脸,脸上的一双眼睛炯炯有神。爸爸有个特点,就是有个大肚子。我常常把头放在他的肚子上,他便轻轻地抚摸着……
美媒推特在马斯克领导下会发生哪些变化?据美国《纽约时报》网站4月25日报道,过去数周乃至数月,马斯克在采访中、监管文件以及自己的推特账号上给出了他将如何改变推特的暗示。报道称,以下是马斯克可能寻求着手的领域:……
铅笔橡皮和尺子作文铅笔、橡皮和尺子作文1一天晚上,文具盒里静悄悄,只有铅笔、橡皮、尺子呆呆地躺在铅笔盒里发着楞。聪明的橡皮跑出文具盒,在书桌上搭好翘翘板跟大伙玩得正开心,说着说着话题转移到……
什么才是新能源汽车?现在普遍的把电池充电储存电能,然后释放电能驱动的汽车称为新能源汽车,而充电的电能主要来源还是来自石油煤炭这些化石资源燃烧发电。说白了就是电瓶车,表面看起来环保了,实际上发电的时……
一季度江苏经济增长4。6新能源汽车零售额大涨118。521世纪经济报道记者王海平江苏报道4月25日,江苏省公布2022年第一季度经济社会发展数据。13月,江苏全省实现生产总值27859亿元,同比增长4。6。江苏省统计局……
宏鑫科技拟登陆创业板生产汽车锻造铝合金车轮已直接配套比亚迪中挖贝网4月25日,浙江宏鑫科技股份有限公司(简称宏鑫科技)创业板上市申请材料获得受理。该公司主要产品为汽车锻造铝合金车轮,已直接配套豪梅特、东风柳汽、陕西重汽、比亚迪、中车时代……
最伤心的一件事人生是一粒多味巧克力。长这么大,发生了许许多多的事,有开心的,有伤心的,有难忘的hellip;hellip;但至今为止,有一件事是令我最伤心的mdash;mdash;那就是我养……
关于细节的作文800字精选5篇细节像一个无尽的宝藏。但是细节不是每个人都能把握的。细节蕴含的深刻哲理,并不是每个人都能彻底领悟。不注重细节的人,往往也不能抓住细节。反之,注重细节的人,便能运用细节带来的机会……
续写柔情优秀范文几经风霜雪雨游荡倦倦空城回望伊人羞红所有倾国倾城悄然无声一生印记在此刻重生岁月相伴续写柔情胭脂香味粉末盈唇那回不去的……