Langzi_SRC_安全巡航系列

真是这样的话,有些话,只有准确的时间准确的地点亲口说出来。现在时间错过了,再说也没用了

Langzi_安全巡航_0.95_原型机版本

NoPassword_Download

Langzi_安全巡航_0.95_优化版

修复众多BUG

优化许多功能

跨年礼物~

Langzi_安全巡航_0.97版本

整体漏洞报告页面

首页需要包含的内容

网址:url
标题:title
漏洞概述:1,2,3,4,5,6(sql注入,敏感文件泄露,未授权访问等等)
发现时间:time
危害等级:高危

详情页面

漏洞网址:vlun url
漏洞描述:description
漏洞成因:cause
漏洞危害:risk
漏洞修复:repair

详情页面可以利用模板把网址传入即可,其他的固定模板结构,按照漏洞的传入不断地写入报告中,大致的样式如下:


    xxxx网站漏洞信息报告【一级标题】

网址:www.langzi.fun
标题:浪子网络安全开发
漏洞概述:XSS漏洞,敏感信息泄露,数据库未授权访问
发现时间:2018年12月5日14:15:29
危害等级:高

然后是每个漏洞的具体详情解读

        XSS漏洞【二级标题】

漏洞网址:http://app.langzi.fun.com/?area=%B5%D8%C7%F8&keyword=%C7%B0%B6%CB

提交方式:GET

漏洞参数:activityId

攻击载荷:"><img src=x onerror=prompt(1)>

漏洞种类:反射型XSS漏洞

漏洞成因:网站本身设计不严谨,导致执行用户提交的恶意js脚本,对网站自身造成危害。xss漏洞是web渗透测试中最常见而又使用最灵活的一个漏洞。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。

漏洞危害:
1 cookie劫持(窃取cookie, 因为cookie能够代表用户的身份,所以盗取了cookie之后,就可以伪造用户去做一些事情了,这个产生的危害是非常可怕的。)
2 钓鱼,利用xss构造出一个登录框,骗取用户账户密码。
3 Xss蠕虫(利用xss漏洞进行传播)
4 修改网页代码
5 利用网站重定向

漏洞修复:
1 用户名、邮箱等表单验证(前台/服务器二次验证)
2 富文本使用白名单机制等
3 设置 cookie 时加入 HttpOnly 可使 js 脚本无法获取 cookie
4 定义允许的资源加载地址,比如图片 / 视频 / JS 脚本等
5 HTTPS加密访问

        敏感信息泄露【二级标题】

漏洞网址:http://www.langzi.fun/langzi.rar:360M

漏洞描述:敏感信息泄露,

漏洞成因:
1 网站自动备份,备份文件名和路径容易被猜解。
2 管理员手动备份文件名,用的域名作为备份文件名称,并且放置在根目录。

漏洞危害:
1 网站存在备份文件:网站存在备份文件,例如数据库备份文件、网站源码备份文件等,攻击者利用该信息可以更容易得到网站权限,导致网站被黑。
2 敏感文件泄露是高危漏洞之一,敏感文件包括数据库配置信息,网站后台路径,物理路径泄露等,此漏洞可以帮助攻击者进一步攻击,敞开系统的大门。
3 由于目标备份文件较大,可能存在更多敏感数据泄露
4 该备份文件被下载后,可以被用来做代码审计,进而造成更大的危害
5 该信息泄露会暴露服务器的敏感信息,使攻击者能够通过泄露的信息进行进一步入侵。
6 当然 , 一般网站都会涉及到数据库操作 , 而一般来说 , 需要链接数据库就需要用户名/密码/端口/库名等信息 , 而这些信息肯定会在网站后台的源码里面又体现 , 因此这种情况是极其危险的 , 还有 , 一旦服务器开放了数据库的远程连接功能 , 攻击者就可以利用从源码中找到的数据库用户名和密码对远程数据库进行登陆 , 危险性不言而喻

漏洞修复:删掉备份文件或者重命名备份文件名。


.......

备份文件敏感信息泄露

生成字典的格式,分别有svn,git,webinfo,备份

模板需要参数:漏洞网址

扫描验证返回结果:字符串结果,备份扫描返回列表

svn 模板

扫描结果返回的参数只需要获取url即可,然后套嵌入模板即可

{
Url:http://www.langzi.fun/.svn,

Description:敏感信息泄露,

Cause:SVN(subversion)是源代码版本管理软件,造成SVN源代码漏洞的主要原因是管理员操作不规范。“在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。但一些网站管理员在发布代码时,不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,黑客可以借助其中包含的用于版本信息追踪的‘entries’文件,逐步摸清站点结构。”(可以利用.svn/entries文件,获取到服务器源码、svn服务器账号密码等信息),

Risk:
1 SVN产生的.svn目录下还包含了以.svn-base结尾的源代码文件副本(低版本SVN具体路径为text-base目录,高版本SVN为pristine目录),如果服务器没有对此类后缀做解析,黑客则可以直接获得文件源代码。
2 可以列出网站目录,甚至下载整站。
3 可以直接获取数据库连接信息账号密码,以及后台地址等更多敏感信息。
4 可以用来下载该网站源码,做代码审计,发现更大的漏洞造成更大的危害
5 网站存在包含SVN信息的文件,这是网站源码的版本控制器私有文件,里面包含SVN服务的地址、提交的私有文件名、SVN用户名等信息,该信息有助于攻击者更全面了解网站的架构,为攻击者入侵网站提供帮助。
6 该信息泄露会暴露服务器的敏感信息,使攻击者能够通过泄露的信息进行进一步入侵。

Repair:查找服务器上所有.svn隐藏文件夹,删除
以下命令删除当前目录下.svn文件夹
find . -type d -name ".svn"|xargs rm -rf
rm -rf `find . -type d -name .svn`
find . -name ".svn" -type d | xargs rm -fr
find . -name ".svn" -type d | xargs -n1 rm -R
}

git 模板

{
Url:http://www.langzi.fun/.git,

Description:敏感信息泄露,

Cause:这里当网站维护(开发)人员在从托管网站pull代码的时候 , 也会将这个储存了所有的版本信息的.git文件夹下载到服务器的Web目录下 , 这样的话 , 攻击者就可以利用这个目录 , 去下载git文件夹 , 就可以利用其中储存的版本控制信息 , 完全恢复网站后台的代码和目录结构 , 当然 , 一般网站都会涉及到数据库操作 , 而一般来说 , 需要链接数据库就需要用户名/密码/端口/库名等信息 , 而这些信息肯定会在网站后台的源码里面又体现 , 因此这种情况是极其危险的 , 还有 , 一旦服务器开放了数据库的远程连接功能 , 攻击者就可以利用从源码中找到的数据库用户名和密码对远程数据库进行登陆 , 危险性不言而喻

Risk:
1 下载代码开发时候的全部源代码,敏感文件泄露是高危漏洞之一,敏感文件包括数据库配置信息,网站后台路径,物理路径泄露等,此漏洞可以帮助攻击者进一步攻击,敞开系统的大门。
2 可以列出网站目录,进而发现管理登录的网址
3 可以直接获取数据库连接信息账号密码,以及后台地址等更多敏感信息。
4 可以用来下载该网站源码,做代码审计,发现更大的漏洞造成更大的危害
5 该信息泄露会暴露服务器的敏感信息,使攻击者能够通过泄露的信息进行进一步入侵。
6 所有commiter的邮箱帐号信息,包括(可能)内部的帐号和密码

Repair:删掉.git目录或者重命名此目录。

}

备份源码泄露 模板

{
Url:http://www.langzi.fun/langzi.rar:360M,

Description:敏感信息泄露,

Cause:
1 网站自动备份,备份文件名和路径容易被猜解。
2 管理员手动备份文件名,用的域名作为备份文件名称,并且放置在根目录。

Risk:
1网站存在备份文件:网站存在备份文件,例如数据库备份文件、网站源码备份文件等,攻击者利用该信息可以更容易得到网站权限,导致网站被黑。
2敏感文件泄露是高危漏洞之一,敏感文件包括数据库配置信息,网站后台路径,物理路径泄露等,此漏洞可以帮助攻击者进一步攻击,敞开系统的大门。
3 由于目标备份文件较大(xxx.G),可能存在更多敏感数据泄露
4 该备份文件被下载后,可以被用来做代码审计,进而造成更大的危害
5 该信息泄露会暴露服务器的敏感信息,使攻击者能够通过泄露的信息进行进一步入侵。
6 当然 , 一般网站都会涉及到数据库操作 , 而一般来说 , 需要链接数据库就需要用户名/密码/端口/库名等信息 , 而这些信息肯定会在网站后台的源码里面又体现 , 因此这种情况是极其危险的 , 还有 , 一旦服务器开放了数据库的远程连接功能 , 攻击者就可以利用从源码中找到的数据库用户名和密码对远程数据库进行登陆 , 危险性不言而喻

Repair:删掉备份文件或者重命名备份文件名。

}

在结构设计上,本来三个扫描验证的功能都集成在一个函数中,用列表存储数据,但是发现这样不利于传递数据到模板生成漏洞报告页面,因为扫描备份文件的时候可能存在多个文件,于是按照功能独立出来。但是其他的网站或者数据库未授权倒是可以改动一下的。

svn和git源码泄露分别返回如下的结构数据

http://www.langzi.fun/.git/config:GIT源码泄露
http://www.langzi.fun//.svn/entries:SVN源码泄露

但是备份文件返回的对象是一个列表,返回的格式如下:

[http://www.langzi.fun/a.zip:500M,http://www.langzi.fun/lang.zip:600M]

上面的如果没有返回扫描到的结果就返回None

调用方法:

'''
三个函数,返回的结果分别是 1 SVN字符串 2 GIT字符串 3 BACK列表
分别是
scan_backup() 列表
scan_git()    字符串
scan_svn()    字符串
如果没有结果就返回None
'''

SQL注入漏洞 模板

采用的Lang_SQL_Injection_3.3版本移植功能,支持其全部功能和作用,关于设置扫描等级可以再config.ini中设置。

调用方法

'''
    检测sql注入,传入两个参数,网址和扫描等级
    如果存在注入,就返回字典
    res = scan_sql('http://xy.5971.com',level=1)
    if res != None:
        print res['title']
        print res['url']
        print res['common']
        print res['report_0']
        # 注入方式,参数等等
        print res['report_1']
        # 数据库信息等
'''

XSS漏洞 模板

采用Lang_XSS_scan_1.1版本移植全部功能,同样支持其全部功能和作用,设置扫描等级同样可以可以再config.ini中设置。

模板需要传入参数:漏洞网址

扫描验证返回的结果:一个字典,有4个键值

在原版中自动生成的结果本来是这样的

返回结果

检测网址 : http://xxxxxx.com/?area=%B5%D8%C7%F8&keyword=%C7%B0%B6%CB
提交方式 : GET
漏洞参数 : keyword
攻击载荷 : "><a href=javascript:prompt(1)>Clickme</a>

按照前文所需求设置,应该是如下格式的内容写入:

{
url:http://xxxxxx.com/?area=%B5%D8%C7%F8&keyword=%C7%B0%B6%CB

description:反射型XSS漏洞

cause:网站本身设计不严谨,导致执行用户提交的恶意js脚本,对网站自身造成危害。xss漏洞是web渗透测试中最常见而又使用最灵活的一个漏洞。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。

risk:
1 cookie劫持(窃取cookie, 因为cookie能够代表用户的身份,所以盗取了cookie之后,就可以伪造用户去做一些事情了,这个产生的危害是非常可怕的。)
2 钓鱼,利用xss构造出一个登录框,骗取用户账户密码。
3 Xss蠕虫(利用xss漏洞进行传播)
4 修改网页代码
5 利用网站重定向

repair:
1 用户名、邮箱等表单验证(前台/服务器二次验证)
2 富文本使用白名单机制等
3 设置 cookie 时加入 HttpOnly 可使 js 脚本无法获取 cookie
4 定义允许的资源加载地址,比如图片 / 视频 / JS 脚本等
5 HTTPS加密访问

}

根据模板的内容和结构,唯一需要传入的就是漏洞的网址,然后把返回的结果并行写入报告。

调用的方法:

'''
扫描xss
    res = scan_xss('http://www.xxxxxxxx.com')
    if res != None:
        print res['url']
        print res['request']
        print res['payload']
    返回结果:{'url': 'http://www.xxxxx.com/service.asp?id=4', 'request': 'GET', 'payload': '</script>"><script>prompt(1)</script>', 'value': 'id'}

'''

数据库弱口令 模板

这个漏洞的危害不容置疑,相对来说需要写的报告要更加精简到位。

模板需要传入参数:原始网址

扫描验证返回的结果:字典,有5个键值

{
url:http://www.baidu.com

description:数据库弱口令

cause:网站管理员使用默认账号密码并且设置相对简单的密码导致

risk:
1 整个数据库的信息泄露
2 数据库用户权限大,可以直接写入木马控制服务器
3 可导致数据库被人下载并出售,造成巨大损失
4 造成用户信息泄露,可以被黑客用来尝试破解用户其他平台的密码
5 对整个网站和公司企业造成巨大的损失

repair:
1 设置复杂的密码,比如Lan92i@f9ZhoA@#¥
2 禁止最高权限账号外部访问,只能本地访问
3 对每个用户做权限设置,只能查询权限下的表的内容数据

}

数据库弱口令的前提是要获取到网站对应的IP地址,然后尝试弱口令漏洞验证报告,所以对模板传入的是网址,继续添加的内容如下:

{
url:http://www.langzi.fun
IP:127.0.0.1
database:mysql
username:root
password:root
}

返回的结果字典有5个键值,然后写入即可

未授权访问系列 模板

因为有IP未授权访问漏洞和URL未授权访问漏洞扫描验证的漏洞比较多,如果每个都要弄专门的一套模板得麻烦死,所以在扫描器内部返回的数据信息模板渲染,本来返回的只是一条漏洞网址,修改成一个字典,内部的值可以直渲染到模板

管理后台弱口令

因为相关的代码还没有写完,关于验证码需要使用到卷积神经网络并且要进行模型训练,所以后期要闭关一段时间稍微学一下机器学习的知识。

URL跳转漏洞

过渡时期

Auto_ExtrAct系列

花了三天时间基于其他作品的源码上,实现了安全巡航过度的测试软件,命名为AutoExtrAct系列,实现挂机,全自动扫描漏洞并自动化生成报表(暂时有源码泄露,sql注入,xss)

涉及知识点:异步多进程协程,广度优先原则,python自动化生成word,拉起sqlmap检测注入,selenium复现漏洞,pillow截图,mysql管理,aiomysql异步数据库操作,全程自动化

挂机一天的结果

确认安全巡航将会采用数据库管理,结合flask实现后端,前端用bootstrap+vue,核心是全程自动化扫洞后生成报表,将会借取yolanda的核心,实现无限采集功能,将会设置关键词爬行等等,不过一切等以后再说吧…..

开放XSS社区版下载,解压密码为域名

适合放在虚拟机里头挂着刷

DOWNLOAD URL 一次性导入不超过50个url噢~

19年度礼物

概述

实现全自动漏洞扫描自动复现生成报告,全程自动化

又到了一年一度的520年度环节,去年为基佬们准备的礼物是YolandaScan,新年礼物是安全巡航0.95模型机,虽然在现在看来都很弱,不够完善,不过也是当初的美好回忆。

今年帅气的群主为大家准备的年度礼物是基于安全巡航过度版本的extract1.5版本,虽然功能少,也不够智能化,但是是一个美好的开始~

虽然工具挺破,还消耗资源,又不成熟….但是也是一点点小心意….

运行条件

  1. 安装 Microsoft Office
  2. 安装Firefox浏览器
  3. 安装vc++2015相关库
  4. 安装python2,并添加到系统环境变量//即cmd下输入python进入python2交互界面
  5. 安装Mysql数据库
  6. 运行目录不要存在中文

环境准备

  1. 将目录下的创建数据库文件导入,创建数据库
  2. 配置文件

参数介绍

[Server]
host = 127.0.0.1
# 数据库地址
username = root
password = root
db = langzi_scan
# 数据库名
port = 3306
# 端口

[Config]
thread_s = 16
# 扫描线程数,一般不能设置太大
check_env = 1
# 是否每次运行前检测运行环境
start_on = 0
# 是否从数据库中获取数据继续扫描

check_env参数:每次运行前检测相关运行环境是否正确配置,设置成1则会每次启动扫描器前自动检测运行环境

start_on参数:设置成1再数据库存在数据的情况下,不导入新的网址,直接从数据库提取网址进行扫描,设置成0则每次启动主程序都会提示导入网址到数据库,燃后开始扫描。

使用方法

批量采集url保存在文本

启动主程序

导入采集好的url即可

全部自动生成报表使用浏览器截图,无需操作

资源消耗

对主机配置略高,最好是SSD硬盘[启动Firefox]

使用的线程数基于CPU处理核心数

个人使用16个线程,在全部启动并发情况下资源消耗

补充

目前稳定支持sql注入,xss,源码泄露,url跳转四种类型漏洞扫描,关于其他的未授权访问,数据库弱口令,以及各种未授权漏洞,代码执行,命令执行,信息泄露等等将会在以后慢慢更新

目录下生成文本内容包括任意url跳转,xss,源码泄露相关信息,然后通过Firefox浏览器直接渲染检测是否出现弹窗,出现弹窗直接捕获截图保存

建议是挂在虚拟机跑,不影响物理机工作,自动生成扫描结果

随后你就可以去做一些你爱做的事

关键点:

  • 不支持扫描国内GOV 与 EDU

  • 每次最大扫描数量设置为500

  • 不管你导入的网址多大,只会从中提取500个网址加载到数据库扫描

  • 配置文件CONFIG.INI的编码为ANSI

可以删除的文件

目录下的所有图片

result文件夹

image文件夹

*result.txt

*log.txt

捡漏

虽然不能让你称霸SRC,但是在补天能换几桶泡面还是可以的

存在大概20%的误报吧,每次提交前需要手动复现的噢

使用方法

坚持原创技术分享,您的支持将鼓励我继续创作!
------ 本文结束 ------

版权声明

LangZi_Blog's by Jy Xie is licensed under a Creative Commons BY-NC-ND 4.0 International License
由浪子LangZi创作并维护的Langzi_Blog's博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证
本文首发于Langzi_Blog's 博客( http://langzi.fun ),版权所有,侵权必究。

0%