image.png

应急响应补充知识点

挖矿靶机分析PDF外加其他

Python开发相关知识点

1.开发基础环境配置说明

Windows10 + Pycharm

2.Python开发学习的意义

  • 学习相关安全工具原理
  • 掌握自定义工具及拓展开发
  • 解决实战中无工具或手动麻烦批量化等情况
  • 在二次开发Bypass,日常任务,批量测试利用等方面均有帮助
  • 利用场景:SRC批量收集和利用,AWD批量利用获取FLAG,CTF加解密脚本等

3.本篇直播涉及的技术方向

Socket,爬虫,正则表达式,框架方向

4.本次直播涉及知识点

Socket部分技术,进程命令执行,交互参数执行,Nmap工具模块使用,异常处理等

  1. # -*- codeing = utf-8 -*-
  2. # @Time : 2021/5/25 11:16 上午
  3. # @Author : GLSakura
  4. # @File : 76test.py
  5. # @Software : PyCharm
  6. import os
  7. import socket
  8. # pip install python-whois
  9. from whois import whois
  10. import time
  11. # import sys
  12. import nmap
  13. # ip查询-socket
  14. def ip_check(url):
  15. ip = socket.gethostbyname(url)
  16. print(ip)
  17. # CDN判断-利用返回IP条数进行判断
  18. def cdn_check(url):
  19. ns = "nslookup " + url
  20. # data=os.system(ns)
  21. # print(data)
  22. # 结果无法读取操作
  23. data = os.popen(ns, "r").read()
  24. if data.count(".") > 15:
  25. print("存在CDN")
  26. else:
  27. print(data)
  28. print("不存在CDN")
  29. # 端口扫描
  30. # 1.原生自写socket协议tcp,udp扫描
  31. # 2.调用第三方模块等扫描
  32. # 3.调用系统工具脚本执行
  33. def port_check(url):
  34. ports = {'21', '22', '80'}
  35. server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  36. for port in ports:
  37. ip = socket.gethostbyname(url)
  38. result = server.connect_ex((ip, int(port)))
  39. if result == 0:
  40. print(port + '\topen')
  41. else:
  42. print(port + '\tclose')
  43. # whois查询
  44. def whois_check(url):
  45. data = whois(url)
  46. print(data)
  47. # 子域名查询
  48. def domain_check(url):
  49. url = url.replace('www.', '')
  50. for domain_data in open("/Users/glan/Sec/Dicts/fuzzDicts/subdomainDicts/main.txt"):
  51. domain_data = domain_data.replace('\n', '')
  52. domain_url = domain_data + '.' + url
  53. try:
  54. ip = socket.gethostbyname(domain_url)
  55. print(domain_url + '\t\t->\t' + ip)
  56. time.sleep(0.1)
  57. except Exception as e:
  58. pass
  59. # nmap扫描
  60. def nmap_check(url):
  61. nm = nmap.PortScanner()
  62. ret = nm.scan(hosts=url, ports='22')
  63. print(ret)
  64. if __name__ == '__main__':
  65. url = 'www.baidu.com'
  66. ip_check(url)
  67. cdn_check(url)
  68. nmap_check(url)
  69. whois(url)
  70. domain_check(url)