zion_z4
10
2019-05-21 22:44:42
4
349

sql 인젝션 & 중요정보 평문노출 질문이요~!


1. 찾기에서 담당자'and 1=1 -- 이러면 찾아지고  담당자'and 2=1 -- 이러면 찾기가 안된다는데..

if(!"".equals(SCH_CHGM_NAME)){

  buff.append(" AND A.CHGM_NAME like ? ");

  vList.add("%"+SCH_CHGM_NAME+"%");

}


2. 

<td class="left_st">비밀번호</td>

<td><input type="password" class="numarea" size="14" name="PW" maxlength=20 value="<%=StringTool.convertFor(vo.getProperty("PW"))%>"></td>

value값이 소스보기평문에서 1q2w3e이런식으로 비밀번호 확인이 된다고 하는데 막을방법있나요?


ㅠㅠ미치겟네요 1년차인데 ㅠㅠ 형님들 구원을 ㅠㅠ

0
0
  • 답변 4

  • 자라선
    1k
    2019-05-22 08:36:31

    1. preparedstatement  ..

    2. 회원가입 수정같은 페이지 인가요??

    보통 DB에 넣을땐 암호화해서 넣어질텐데 어떻게...

    0
  • 183
    2019-05-22 10:25:02

    답 : <td><input type="password" class="numarea" size="14" name="PW" maxlength=20 value=""></td>

    서버의 비밀번호를 화면에 넘기는 이유가 있을까요?

    설마 서버의 비번을 화면에 넘겨서 스크립트에서 비번 비교를 하려는 의도는 아니겠죠?


    1
  • zion_z4
    10
    2019-05-22 16:09:35

    개발자모드로 보기에서 값이 나와서 이부분을 수정하라는거 같은데 그냥 일반 소스보기에서는 *****이런식으로 나오는데 이부분을 어케 바꿔야될지 모르겠네요...

    0
  • 183
    2019-05-22 16:18:33

    <input type="password"    여기는 기본값을 비워놓고

    사용자가 본인 비번을 넣으면 *****   로 표시가 될겁니다.

    이걸 소스보기하여 사용자가 넣은 값이 보인다고 뭐라 하지 않을겁니다.

    <input type="password" value="<%=StringTool.convertFor(vo.getProperty("PW"))%>">

    이부분은 자바에서 vo.getProperty("PW")  한 값이 <input 에 채워져서 사용자 화면에 전달이 됩니다.

    <input type="password" value=  여기에 서버의 값을 채워서 사용자 화면으로 보낼 이유가 없을겁니다.

    <input type="password" value=""> 으로 만들고 사용자가 입력한 값은 서버에서 받아서 서버의 DB 조회값과 일치하는지만 확인하면 됩니다. 




    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.