高分求解,来者有分!送完为止!

3gw 2003-10-18 11:59:39
如何截取、调包ASP参数?

例如
某网页部分源码
<form action="password.asp" method="post">
请输入名称:<Input Type=Text Name=uname Size=10 value=""><br>
请输入密码:<Input Type=Password Name=pass Size=10 value=""><br>
<br>
<Input Type=Submit value=" 确 定 ">
<Input Type=Reset value="重新输入">
</form>


当别人填完名称及密码点击确定时,我的程序如何实时监测到它的参数uname、pass,并替换它的值发送出去?

请各位大侠赐教,万分感谢!
...全文
24 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
3gw 2003-10-19
  • 打赏
  • 举报
回复
hhjjhjhj(大头) ( )


非常感谢!

现在能够监测到它的参数的值了,但是我如何才能利用调包参数的值呢?
subzero 2003-10-19
  • 打赏
  • 举报
回复
不知道能否截到ie窗口里的button的单击消息
hhjjhjhj 2003-10-19
  • 打赏
  • 举报
回复
Public WithEvents myIe As InternetExplorer
Private Sub Command1_Click()
Set myIe = New InternetExplorer
myIe.Visible = True
myIe.Navigate "http://office.9zp.com"
End Sub

Private Sub myIe_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
Debug.Print PostData
End Sub
akiko 2003-10-19
  • 打赏
  • 举报
回复
up
iamyokel 2003-10-19
  • 打赏
  • 举报
回复
哦。不对。是某网页

呵呵,看来需要安装木马了

比较难啊
iamyokel 2003-10-19
  • 打赏
  • 举报
回复
在password.asp 里边写上

uname=replace(request("uname"),"你想要替换的值","替换成的值")
然后response.redirect "password2.asp"

不就可以了么?

也可以用js.不过感觉js不是很可靠
rainstormmaster 2003-10-19
  • 打赏
  • 举报
回复
up
Fnems 2003-10-19
  • 打赏
  • 举报
回复

  我用的是Iris的嗅探器。

另外,pass=1 or 1=1 这种办法有点过时了。
aha99 2003-10-19
  • 打赏
  • 举报
回复
你可以对该窗口的keypress进行拦截,或者对它的text进行sendmessage 来GETTEXT,不一定拦截呀。。。
hhjjhjhj 2003-10-19
  • 打赏
  • 举报
回复
楼主真可爱,那是被IE加过密的
最来一招吧
Public WithEvents myIe As InternetExplorer
Private Sub Command1_Click()
Set myIe = New InternetExplorer
myIe.Visible = True
myIe.Navigate "http://office.9zp.com"
End Sub

Private Sub myIe_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
If CStr(PostData) <> "" Then
Call ggg
End If
End Sub
Sub ggg()
Dim vDoc, vTag
Dim i As Integer

Set vDoc = myIe.Document
For i = 0 To vDoc.All.length - 1
If UCase(vDoc.All(i).tagName) = "INPUT" Then
Set vTag = vDoc.All(i)
If vTag.Type = "text" Or vTag.Type = "password" Then
Debug.Print vTag.Value
End If
End If
Next i
End Sub
3gw 2003-10-19
  • 打赏
  • 举报
回复
当名称为aa,密码为bb时,

Debug.Print PostData出来的结果是:
湵浡?扢瀦獡?

乱码,如何才能知道它的参数值分别是aa、bb呢?
3gw 2003-10-19
  • 打赏
  • 举报
回复
hhjjhjhj(大头) ( )

再次谢谢你!
hhjjhjhj 2003-10-19
  • 打赏
  • 举报
回复
看来你对这个问题只是一个想法而已,没有一点基础
取肖提交后,网页并没有刷新,客户填写的数据还在,你只要改你想改的数据
赋值:vTag.Value=“XXXXXX”
提交:If vTag.Type = "submit"
vTag.click
3gw 2003-10-19
  • 打赏
  • 举报
回复
假如,此表单中需要提交的还有其它参数,它们也都有默认值了,

那么如何指定参数uname、pass的值,再一起全部提交?
hhjjhjhj 2003-10-19
  • 打赏
  • 举报
回复
利用BeforeNavigate2中有个参数Cancel来取肖提交,同时,激活一个timer,用代码重新提交(当然这时也会有BeforeNavigate2事件,这时不能使Cancel=true了)

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧