以下为《sql注入笔记》的无排版文字预览,完整内容请下载
Sql 注入
一、注入点的判断及猜解
1.加入单某某 ’提交,
结果:如果出现错误提示,则该网站可能就存在注入漏洞。
2.数字型判断是否有注入;
语句:and 1=1 ;and 1=2 (经典)、' and '1'=1(字符型)
结果:分别返回不同的页面,说明存在注入漏洞.
分析:and 的意思是“和”如果没有过滤我们的语句,and 1=1就会被代入SQL查询语句进行查询,
如果and前后的两条语句都是真的话就不会出错,但如果前后语句有一个为假的话,程序就会暴错。
也就表明程序有注入漏洞
防注入解决办法:
1>使用or 2>1 ; or 1>2来进行判断
结果:分别返回不同的页面,说明存在注入漏洞.
分析:or注入只要求前后两个语句只要有一个正确就为真,如果前后两个语句都是正确的,反而为假。
记住:or注入时,or后面的语句如果是正确的,则返回错误页面!如果是错误,则返回正确页面说明存在注入点。
2> 使用xor 1=1; xor 1=2
结果:分别返回不同的页面,说明存在注入漏洞.
分析:xor 代表着异或,意思即连接的表达式仅有一个为真的时候才为真。
记住:xor注入时,xor后面的语句如果是正确的,则返回错误页面积,如果是错误,则返回正确页面,说明存在注入点。
3>把and 1=1转换成URL编码形式后在提交
and 1=1 URL编码:%41%4E%44%20%%31%3D%31
4>使用-1;-0
分析:如果返回的页面和前面不同,是另一则新闻,则表示有注入漏洞,是数字型的注入漏洞;URL地址后面加上 -0,URL变成 news.asp?id=123-0,返回的页面和前面的页面相同,加上-1,返回错误页面,则也表示存在注入漏洞.
3.字符型判断是否有注入:
语句:' and '1'=1;' and '1=2(经典)
结果:结果:分别返回不同的页面,说明存在注入漏洞.
分析:加入' and '1'=1返回正确页面,加入' and '1=2返回错误页面,说明有注入漏同。
防注入解决办法:
1>在URL的地址后面加上'%2B'(字符型)
分析:URL地址变为:news.asp?id=123'%2B',返回的页面和1同;加
上'2%2B'asdf,URL地址变为:news.asp?id=123'%2Basdf,返回的页面和1
不同,或者说未发现该条记录,或者错误,则表示存在注入点,是文本型的。
4.搜索型判断是否有注入:
简单的判断搜索型注入漏洞存在不存在的办法是先搜索',如果出错,说明90%存在这个漏洞。然后搜
索%,如果正常返回,说明95%有洞了。
说明:加入如"&;"、"["、"]"、"%"、"$"、"@"等特殊字符,都可以实现,如果出现错误,说明有问题
操作:
搜索一个关键字,比如2006吧,正常返回所有2006相关的信息,再搜索2006%'and 1=1 and '%'='和2006%'and 1=2 and '%'=',存在异同的话,就是100%有洞了。
关键字%' and 1=1 and '%'='%
关键字%' and 1=2 and '%'='%
将and 1=1 换成注入语句就可以了
5.判断数据库类型:and user>0 例如:showdetail.asp?id=49 ;and user>0
如果是ACCESS数据库,那么返回的错误里一般会有"Microsoft JET Database"关键定,如果是MSSQL数
据库的话返回的错误提示里一般会含有" 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 型 ' and 0 union select 1,column_name,data_type from information_schema.columns where table_name='news'#
4.获取f1agfl4gher3 字段名 数据类型 ' and 0 union select 1,column_name,data_type from information_schema.columns where table_name='secret_table'#
5.得到flag ' and 0 union select 1,2,fl4g from secret_table #
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。
以上为《sql注入笔记》的无排版文字预览,完整内容请下载
sql注入笔记由用户“yezhuxiaojie”分享发布,转载请注明出处