POST방식에서.. 궁금한것이 있습니다.

gugudan의 이미지

제가 웹쪽을 잘 몰라서..
질문을 잘 하느건지도 잘 모르겠네요..

특정 페이지
index.jsp 원래 브라우저로 보면
여기에서 id하고 pw를 입력해서 확인을 누르면 넘어갑니다.

이걸 리눅스에서... curl을 이용해서 처리를 할려고..

curl -d "userid=aaa&passwd=aaa" http://111.222.333.444/login.jsp

이런식으로 처리했지만 아무 반응이 없습니다.

문제는.. login.jsp의 post방식의 값을 넣어줘야 하는데
변수명을 잘 모르는겁니다.
대략 id하고 pw이닌까..저런식으러 넣어줬는데..
전혀 반응이 없는데..

function sLogin() {
if (document.fBody.userid.value.length == 0) {
alert("ID를 입력하세요.");
document.fBody.userid.focus();
return;
}

if (document.fBody.passwd.value.length == 0) {
alert("Password를 입력하세요.");
document.fBody.passwd.focus();
return;
}

소스보기해서 얻어온 것인데..
제가 알고 있는 곳은
로그인 하라는 페이지의 소스하고
기본적인 것들입니다.

이런것들로.. 로그인에 성공할 수 있습니까?

offree의 이미지

가능할 수도 있고 아닐수도 있습니다.

아마도 해당 index.jsp 에서 POST 값을 구분할 수도 있고, 또한 어디서 URL 이 오는지 Referer 값을 확인할 수도 있고, 어떻게 처리했느냐에 따라 가능할 수도 있고,
못할 수도 있을 것입니다.

시도한 방법으로 안되는 것을보니, 몇가지 사항을 확인하나 보네요.

우선 GET 이 아닌 POST 값으로 해당 데이터(userid,passwd)를 보내 보세요.

사용자가 바꾸어 나가자!!

= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com

정태영의 이미지

gugudan wrote:
제가 웹쪽을 잘 몰라서..
질문을 잘 하느건지도 잘 모르겠네요..

특정 페이지
index.jsp 원래 브라우저로 보면
여기에서 id하고 pw를 입력해서 확인을 누르면 넘어갑니다.

이걸 리눅스에서... curl을 이용해서 처리를 할려고..

curl -d "userid=aaa&passwd=aaa" http://111.222.333.444/login.jsp

이런식으로 처리했지만 아무 반응이 없습니다.

문제는.. login.jsp의 post방식의 값을 넣어줘야 하는데
변수명을 잘 모르는겁니다.
대략 id하고 pw이닌까..저런식으러 넣어줬는데..
전혀 반응이 없는데..

function sLogin() {
if (document.fBody.userid.value.length == 0) {
alert("ID를 입력하세요.");
document.fBody.userid.focus();
return;
}

if (document.fBody.passwd.value.length == 0) {
alert("Password를 입력하세요.");
document.fBody.passwd.focus();
return;
}

소스보기해서 얻어온 것인데..
제가 알고 있는 곳은
로그인 하라는 페이지의 소스하고
기본적인 것들입니다.

이런것들로.. 로그인에 성공할 수 있습니까?

form 태그에서 action 이 어디로 지정되어 있는지요? login.jsp 가 아니라면 저 데이타를 보내줄 url 이 틀렸을 수도 있겠꾼요 :)

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

gugudan의 이미지

물론 GET도 해보았고요..

<form action="login.jsp" method="post" name="login">

login.jsp가 맞습니다.
제 아는 사람 말로는 변수명이 틀려서 안되는거 같다고 그러네요..

curl -d "userid=aaa&passwd=aaa" http://111.222.333.444/login.jsp

계속적으로 변수명(id,passwd)을 바꿔가면서 테스트를 해야 하는지요?

해킹해야 하나요?
ㅜ.ㅜ

offree의 이미지

gugudan wrote:
물론 GET도 해보았고요..

<form action="login.jsp" method="post" name="login">

login.jsp가 맞습니다.
제 아는 사람 말로는 변수명이 틀려서 안되는거 같다고 그러네요..

curl -d "userid=aaa&passwd=aaa" http://111.222.333.444/login.jsp

계속적으로 변수명(id,passwd)을 바꿔가면서 테스트를 해야 하는지요?

해킹해야 하나요?
ㅜ.ㅜ

그렇다면, referer 를 체크하나 보네요.

사용자가 바꾸어 나가자!!

= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com

gugudan의 이미지

referer

Quote:

referer 은 컴퓨터 용어보다는 웹 프로그래밍에서 사용되는 프로그래밍 언어로
보는 것이 적당할 것 같습니다.

예를 들어 A 라는 페이지에서 다음 페이지로 B 라는 페이지를 이동하도록 하려고
합니다. 그런데 가끔 방문자 중에서는 A 페이지를 거치지 않고 B 라는 페이지를
즐겨찾기에 둬서 바로 방문하려고 하는 분들도 있지요. 또는 다른 사이트에서
무단으로 링크를 걸 경우도 있을 수 있습니다.

이와 같은 경우를 방지하기 위해 B 페이지 상단에서 referer 를 체크합니다.
그래서 이전 페이지가 A 이면 그대로 결과를 보여주고, A 페이지에서 온 것이 아니면
A 라는 이전 페이지로 보내거나, 오류 페이지를 보내도록 조치를 하게 됩니다.

찾아보니 이런 뜻이라고 나오네요..

음..근데 이것도 아닌거 같습니다..
지금 첫페이지에서 넘어기지를 못하고 있습니다.

offree의 이미지

gugudan wrote:
referer

Quote:

referer 은 컴퓨터 용어보다는 웹 프로그래밍에서 사용되는 프로그래밍 언어로
보는 것이 적당할 것 같습니다.

예를 들어 A 라는 페이지에서 다음 페이지로 B 라는 페이지를 이동하도록 하려고
합니다. 그런데 가끔 방문자 중에서는 A 페이지를 거치지 않고 B 라는 페이지를
즐겨찾기에 둬서 바로 방문하려고 하는 분들도 있지요. 또는 다른 사이트에서
무단으로 링크를 걸 경우도 있을 수 있습니다.

이와 같은 경우를 방지하기 위해 B 페이지 상단에서 referer 를 체크합니다.
그래서 이전 페이지가 A 이면 그대로 결과를 보여주고, A 페이지에서 온 것이 아니면
A 라는 이전 페이지로 보내거나, 오류 페이지를 보내도록 조치를 하게 됩니다.

찾아보니 이런 뜻이라고 나오네요..

음..근데 이것도 아닌거 같습니다..
지금 첫페이지에서 넘어기지를 못하고 있습니다.

첫페이지

Quote:

function sLogin() {
if (document.fBody.userid.value.length == 0) {
alert("ID를 입력하세요.");
document.fBody.userid.focus();
return;
}

if (document.fBody.passwd.value.length == 0) {
alert("Password를 입력하세요.");
document.fBody.passwd.focus();
return;
}


이 값이 있는 페이지.

두번째 페이지 login.jsp 가 아닌가요?

GET , POST 모두 안된다면, 그이외의 값을 체크하는 것일 듯 합니다.

사용자가 바꾸어 나가자!!

= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com

nohmad의 이미지

gugudan wrote:
referer

Quote:

referer 은 컴퓨터 용어보다는 웹 프로그래밍에서 사용되는 프로그래밍 언어로
보는 것이 적당할 것 같습니다.

예를 들어 A 라는 페이지에서 다음 페이지로 B 라는 페이지를 이동하도록 하려고
합니다. 그런데 가끔 방문자 중에서는 A 페이지를 거치지 않고 B 라는 페이지를
즐겨찾기에 둬서 바로 방문하려고 하는 분들도 있지요. 또는 다른 사이트에서
무단으로 링크를 걸 경우도 있을 수 있습니다.

이와 같은 경우를 방지하기 위해 B 페이지 상단에서 referer 를 체크합니다.
그래서 이전 페이지가 A 이면 그대로 결과를 보여주고, A 페이지에서 온 것이 아니면
A 라는 이전 페이지로 보내거나, 오류 페이지를 보내도록 조치를 하게 됩니다.

찾아보니 이런 뜻이라고 나오네요..

음..근데 이것도 아닌거 같습니다..
지금 첫페이지에서 넘어기지를 못하고 있습니다.

서버쪽에서 IE나 불여우, 사파리 같은 일반적인 웹브라우저가 아닌 클라이언트의 접근을 모종의 수단을 동원해서 막고 있는지도 모릅니다. 가장 확실한 것은 ethereal 같은 패킷 캡쳐 프로그램이나 불여우의 LiveHeaders 같은 확장을 이용해서 브라우저와 서버가 어떤 데이터를 주고받는지 보는 것입니다. HTTP 통신은 투명하기 때문에, 결국은 브라우저와 똑같은 데이터를 서버쪽에 건네면 되므로 최종적인 승자는 클라이언트일 가능성이 높습니다. ActiveX나 JavaApplet, Flash 같은 것을 이용해서 투명하지 않은 통신을 하는 경우를 제외한다면요.

익명 사용자의 이미지

userid=xxx&passwd=xxx&x=8&y=10

왜 x하고 y값을 넣는지는 저도 잘 모르겠습니다.
저 값을 넣으면 되는군요..
이상하긴 하네요..

이렇게 신경 써 주셔서 감사합니다.

nohmad의 이미지

gugudan2 wrote:
userid=xxx&passwd=xxx&x=8&y=10

왜 x하고 y값을 넣는지는 저도 잘 모르겠습니다.
저 값을 넣으면 되는군요..
이상하긴 하네요..

이렇게 신경 써 주셔서 감사합니다.

폼 제출 버튼(<input type="submit">) 대신에 이미지(<input type="image">)를 사용했을 때, 브라우저에서 마우스 클릭한 지점의 x/y 좌표를 전송합니다. 이미지맵이 아니라면 불필요한 정보인데, 이걸 활용하는 사람들이 종종 있는 것 같더군요.

gugudan의 이미지

1. curl을 이용해서 사이트에 로그인을 하닌까 로그인이 잘 됩니다.
문제는 그 다음에 id와 패스워드에 연결된 상태에서.. 파일을 다운 받아야 하는데.. 프로그램이 그냥 끝나버리더군요..

그래서 순수하게 코딩을 했습니다.
소켓 생성해서 connect후.. readn을 이용해서 패킷을 보내고
로그인 까지는 잘 되는거 같습니다.

문제는 파일 다운로드 예를 들면.. GET aaa.jsp?file=aaa.log
리눅스에서 실행하닌까..
아무런 반응이 없네요..

똑같이 윈도우에서 테스트를 하닌까..
파일다운로드창이 뜨는군요..

문제는 리눅스에서 저런 박스가 뜰일이 없는데..
저걸 어떻게 처리를 해야 하는건지요?

윈도우에서 테스트를 할때 웹에 쫙 뿌려지면 참 좋을텐데..그러면 그 결과값을 받아서.. 어떻게든 처리가 할 수 있겠는데..
파일 다운로드 창이 떠서 문제입니다.

익명 사용자의 이미지

패킷 캡춰 프로그램 같은 것을 사용해서
로그인 직후 서버가 보내주는 Set-Cookie 헤더 값을 잘 보세요.
그 후 클라이언트는 그 값을 Cookie 헤더에 실어서 보내야 합니다.

gugudan의 이미지

패킷 캡쳐를 해서 쿠키값을 확인을 해서 쿠키랑 같이 보내닌까..정상적으로 동작을 합니다..

예를 들면..
aaa.jsp?money=10000
이럴때는 됩니다..

그런데..
aaa.jsp?money=10001
이럴땐 되지 않습니다..

다시 윈도우에서 패킷 캡쳐를 해본결과..
쿠키값이 바뀌어 있습니다..

산넘어 산이네요..ㅜ.ㅜ

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.